Clean the environment.
Set locations, and the working directory.
A package-installation function.
Load those packages.
We will create a datestamp and define the Utrecht Science Park Colour Scheme.
# Function to grep data from glm()/lm()
GLM.CON <- function(fit, DATASET, x_name, y, verbose=c(TRUE,FALSE)){
cat("Analyzing in dataset '", DATASET ,"' the association of '", x_name ,"' with '", y ,"' .\n")
if (nrow(summary(fit)$coefficients) == 1) {
output = c(DATASET, x_name, y, rep(NA,8))
cat("Model not fitted; probably singular.\n")
}else {
cat("Collecting data.\n\n")
effectsize = summary(fit)$coefficients[2,1]
SE = summary(fit)$coefficients[2,2]
OReffect = exp(summary(fit)$coefficients[2,1])
CI_low = exp(effectsize - 1.96 * SE)
CI_up = exp(effectsize + 1.96 * SE)
tvalue = summary(fit)$coefficients[2,3]
pvalue = summary(fit)$coefficients[2,4]
R = summary(fit)$r.squared
R.adj = summary(fit)$adj.r.squared
sample_size = nrow(model.frame(fit))
AE_N = AEDB.CEA.samplesize
Perc_Miss = 100 - ((sample_size * 100)/AE_N)
output = c(DATASET, x_name, y, effectsize, SE, OReffect, CI_low, CI_up, tvalue, pvalue, R, R.adj, AE_N, sample_size, Perc_Miss)
if (verbose == TRUE) {
cat("We have collected the following and summarize it in an object:\n")
cat("Dataset...................:", DATASET, "\n")
cat("Score/Exposure/biomarker..:", x_name, "\n")
cat("Trait/outcome.............:", y, "\n")
cat("Effect size...............:", round(effectsize, 6), "\n")
cat("Standard error............:", round(SE, 6), "\n")
cat("Odds ratio (effect size)..:", round(OReffect, 3), "\n")
cat("Lower 95% CI..............:", round(CI_low, 3), "\n")
cat("Upper 95% CI..............:", round(CI_up, 3), "\n")
cat("T-value...................:", round(tvalue, 6), "\n")
cat("P-value...................:", signif(pvalue, 8), "\n")
cat("R^2.......................:", round(R, 6), "\n")
cat("Adjusted r^2..............:", round(R.adj, 6), "\n")
cat("Sample size of AE DB......:", AE_N, "\n")
cat("Sample size of model......:", sample_size, "\n")
cat("Missing data %............:", round(Perc_Miss, 6), "\n")
} else {
cat("Collecting data in summary object.\n")
}
}
return(output)
print(output)
}
GLM.BIN <- function(fit, DATASET, x_name, y, verbose=c(TRUE,FALSE)){
cat("Analyzing in dataset '", DATASET ,"' the association of '", x_name ,"' with '", y ,"' ...\n")
if (nrow(summary(fit)$coefficients) == 1) {
output = c(DATASET, x_name, y, rep(NA,9))
cat("Model not fitted; probably singular.\n")
}else {
cat("Collecting data...\n")
effectsize = summary(fit)$coefficients[2,1]
SE = summary(fit)$coefficients[2,2]
OReffect = exp(summary(fit)$coefficients[2,1])
CI_low = exp(effectsize - 1.96 * SE)
CI_up = exp(effectsize + 1.96 * SE)
zvalue = summary(fit)$coefficients[2,3]
pvalue = summary(fit)$coefficients[2,4]
dev <- fit$deviance
nullDev <- fit$null.deviance
modelN <- length(fit$fitted.values)
R.l <- 1 - dev / nullDev
R.cs <- 1 - exp(-(nullDev - dev) / modelN)
R.n <- R.cs / (1 - (exp(-nullDev/modelN)))
sample_size = nrow(model.frame(fit))
AE_N = AEDB.CEA.samplesize
Perc_Miss = 100 - ((sample_size * 100)/AE_N)
output = c(DATASET, x_name, y, effectsize, SE, OReffect, CI_low, CI_up, zvalue, pvalue, R.l, R.cs, R.n, AE_N, sample_size, Perc_Miss)
if (verbose == TRUE) {
cat("We have collected the following and summarize it in an object:\n")
cat("Dataset...................:", DATASET, "\n")
cat("Score/Exposure/biomarker..:", x_name, "\n")
cat("Trait/outcome.............:", y, "\n")
cat("Effect size...............:", round(effectsize, 6), "\n")
cat("Standard error............:", round(SE, 6), "\n")
cat("Odds ratio (effect size)..:", round(OReffect, 3), "\n")
cat("Lower 95% CI..............:", round(CI_low, 3), "\n")
cat("Upper 95% CI..............:", round(CI_up, 3), "\n")
cat("Z-value...................:", round(zvalue, 6), "\n")
cat("P-value...................:", signif(pvalue, 8), "\n")
cat("Hosmer and Lemeshow r^2...:", round(R.l, 6), "\n")
cat("Cox and Snell r^2.........:", round(R.cs, 6), "\n")
cat("Nagelkerke's pseudo r^2...:", round(R.n, 6), "\n")
cat("Sample size of AE DB......:", AE_N, "\n")
cat("Sample size of model......:", sample_size, "\n")
cat("Missing data %............:", round(Perc_Miss, 6), "\n")
} else {
cat("Collecting data in summary object.\n")
}
}
return(output)
print(output)
}
Using a Mendelian Randomization approach, we recently examined associations between the circulating levels of 41 cytokines and growth factors and the risk of stroke in the MEGASTROKE GWAS dataset (67,000 stroke cases and 450,000 controls) and found Monocyte chemoattractant protein-1 (MCP-1) as the cytokine showing the strongest association with stroke, particularly large artery and cardioembolic stroke (Georgakis et al., 2019a). Genetically elevated MCP-1 levels were also associated with a higher risk of coronary artery disease and myocardial infarction (Georgakis et al., 2019a). Further, in a meta-analysis of 6 observational population-based of longitudinal cohort studies we recently showed that baseline levels of MCP-1 were associated with a higher risk of ischemic stroke over follow-up (Georgakis et al., 2019b). While these data suggest a central role of MCP-1 in the pathogenesis of atherosclerosis, it remains unknown if MCP-1 levels in the blood really reflect MCP-1 activity. MCP-1 is expressed in the atherosclerotic plaque and attracts monocytes in the subendothelial space (Nelken et al., 1991; Papadopoulou et al., 2008; Takeya et al., 1993; Wilcox et al., 1994). Thus, MCP-1 levels in the plaque might more strongly reflect MCP-1 signaling. However, it remains unknown if MCP-1 plaque levels associate with plaque vulnerability or risk of cardiovascular events.
Against this background we now aim to make use of the data from Athero-Express Biobank Study to explore the associations of MCP-1 protein levels in the atherosclerotic plaques from patients undergoing carotid endarterectomy with phenotypes of plaque vulnerability and secondary vascular events over a follow-up of three years.
Blood
OLINK-platform
THESE DATA ARE NOT AVAILABLE YET
Plaque
Luminex-platform, measured by Luminex
MCP1 and MCP1_pg_ug_2015. The latter was corrected for plaque total protein concentration.FACS platform
Loading Athero-Express clinical data.
require(haven)
AEDB <- haven::read_sav(paste0(AEDB_loc, "/2019-3NEW_AtheroExpressDatabase_ScientificAE_02072019_IC_added.sav"))
head(AEDB)
require(openxlsx)
Loading required package: openxlsx
AEDB_ProtConc <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_Vriezer/20190919_Freezers_preTCBio.xlsx"),
sheet = "ProteinConc.",
skipEmptyCols = TRUE)
AEDB_Blood <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_Vriezer/20190919_Freezers_preTCBio.xlsx"),
sheet = "Blood",
skipEmptyCols = TRUE)
AEDB_Plaque <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_Vriezer/20190919_Freezers_preTCBio.xlsx"),
sheet = "Plaque",
skipEmptyCols = TRUE)
head(AEDB_ProtConc)
head(AEDB_Blood)
head(AEDB_Plaque)
NA
NA
Loading Athero-Express plaque protein measurements from 2015.
library(openxlsx)
AEDB_Protein_2015 <- openxlsx::read.xlsx(paste0(AEDB_loc, "/_AE_Proteins/Cytokines_and_chemokines_2015/20200629_MPCF015-0024.xlsx"), sheet = "for_SPSS_R")
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "SampleID"] <- "STUDY_NUMBER"
head(AEDB_Protein_2015)
We will merge these measurements to the AEDB for comparing pg/ug vs. pg/mL measurements of MCP1 - also in relation to plaque phenotypes. In addition we have more information the experiment and can correct for this.
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "IL6_pg_ml"] <- "IL6_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "IL6R_pg_ml"] <- "IL6R_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "IL8_pg_ml"] <- "IL8_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "MCP1_pg_ml"] <- "MCP1_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "RANTES_pg_ml"] <- "RANTES_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "PAI1_pg_ml"] <- "PAI1_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "MCSF_pg_ml"] <- "MCSF_pg_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "Adiponectin_ng_ml"] <- "Adiponectin_ng_ml_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "Segment_isolated_Tris"] <- "Segment_isolated_Tris_2015"
names(AEDB_Protein_2015)[names(AEDB_Protein_2015) == "Tris_protein_conc_ug_ml"] <- "Tris_protein_conc_ug_ml_2015"
temp <- subset(AEDB_Protein_2015, select = c("STUDY_NUMBER", "IL6_pg_ml_2015", "IL6R_pg_ml_2015", "IL8_pg_ml_2015", "MCP1_pg_ml_2015", "RANTES_pg_ml_2015", "PAI1_pg_ml_2015", "MCSF_pg_ml_2015", "Adiponectin_ng_ml_2015", "Segment_isolated_Tris_2015", "Tris_protein_conc_ug_ml_2015"))
AEDB <- merge(AEDBraw, temp, by.x = "STUDY_NUMBER", by.y = "STUDY_NUMBER", sort = FALSE,
all.x = TRUE)
rm(temp)
temp <- subset(AEDB, select = c("STUDY_NUMBER", "MCP1", "MCP1_pg_ug_2015", "MCP1_pg_ml_2015", "Segment_isolated_Tris_2015"))
head(temp)
We can examine the contents of the Athero-Express Biobank dataset to know what each variable is called, what class (type) it has, and what the variable description is.
There is an excellent post on this: https://www.r-bloggers.com/working-with-spss-labels-in-r/.
AEDB %>% sjPlot::view_df(show.type = TRUE,
show.frq = TRUE,
show.prc = TRUE,
show.na = TRUE,
max.len = TRUE,
wrap.labels = 20,
verbose = FALSE,
use.viewer = FALSE,
file = paste0(OUT_loc, "/", Today, ".AEDB.dictionary.html"))
We need to be very strict in defining symptoms. Therefore we will fix a new variable that groups symptoms at inclusion.
Coding of symptoms is as follows:
We will group as follows in Symptoms.5G:
We will also group as follows in AsymptSympt:
We will also group as follows in AsymptSympt2G:
# Fix symptoms
attach(AEDB)
# Symptoms.5G
AEDB[,"Symptoms.5G"] <- NA
AEDB$Symptoms.5G[sympt == 0] <- "Asymptomatic"
AEDB$Symptoms.5G[sympt == 1 | sympt == 7 | sympt == 13] <- "TIA"
AEDB$Symptoms.5G[sympt == 2 | sympt == 3] <- "Stroke"
AEDB$Symptoms.5G[sympt == 4 | sympt == 14 | sympt == 15 ] <- "Ocular"
AEDB$Symptoms.5G[sympt == 8 | sympt == 11] <- "Retinal infarction"
AEDB$Symptoms.5G[sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Other"
# AsymptSympt
AEDB[,"AsymptSympt"] <- NA
AEDB$AsymptSympt[sympt == 0] <- "Asymptomatic"
AEDB$AsymptSympt[sympt == 1 | sympt == 7 | sympt == 13 | sympt == 2 | sympt == 3] <- "Symptomatic"
AEDB$AsymptSympt[sympt == 4 | sympt == 14 | sympt == 15 | sympt == 8 | sympt == 11 | sympt == 5 | sympt == 9 | sympt == 10 | sympt == 12 | sympt == 16 | sympt == 17] <- "Ocular and others"
detach(AEDB)
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "sympt", "Symptoms.5G", "AsymptSympt"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# table(AEDB.temp$Symptoms.5G, AEDB.temp$AsymptSympt)
#
# rm(AEDB.temp)
We will also fix the plaquephenotypes variable.
Coding of symptoms is as follows:
# Fix plaquephenotypes
attach(AEDB)
AEDB[,"OverallPlaquePhenotype"] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == -999] <- NA
AEDB$OverallPlaquePhenotype[plaquephenotype == 1] <- "fibrous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 2] <- "fibroatheromatous"
AEDB$OverallPlaquePhenotype[plaquephenotype == 3] <- "atheromatous"
detach(AEDB)
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "plaquephenotype", "OverallPlaquePhenotype"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix the diabetes status variable. We define diabetes as history of a diagnosis and/or use of glucose-lowering medications.
# Fix diabetes
attach(AEDB)
AEDB[,"DiabetesStatus"] <- NA
AEDB$DiabetesStatus[DM.composite == -999] <- NA
AEDB$DiabetesStatus[DM.composite == 0] <- "Control (no Diabetes Dx/Med)"
AEDB$DiabetesStatus[DM.composite == 1] <- "Diabetes"
detach(AEDB)
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix the smoking status variable. We are interested in whether someone never, ever or is currently (at the time of inclusion) smoking. This is based on the questionnaire.
diet801: are you a smoker?diet802: did you smoke in the past?We already have some variables indicating smoking status:
SmokingReported: patient has reported to smoke.SmokingYearOR: smoking in the year of surgery?SmokerCurrent: currently smoking?require(labelled)
AEDB$diet801 <- to_factor(AEDB$diet801)
AEDB$diet802 <- to_factor(AEDB$diet802)
AEDB$diet805 <- to_factor(AEDB$diet805)
AEDB$SmokingReported <- to_factor(AEDB$SmokingReported)
AEDB$SmokerCurrent <- to_factor(AEDB$SmokerCurrent)
AEDB$SmokingYearOR <- to_factor(AEDB$SmokingYearOR)
# table(AEDB$diet801)
# table(AEDB$diet802)
# table(AEDB$SmokingReported)
# table(AEDB$SmokerCurrent)
# table(AEDB$SmokingYearOR)
# table(AEDB$SmokingReported, AEDB$SmokerCurrent, useNA = "ifany", dnn = c("Reported smoking", "Current smoker"))
#
# table(AEDB$diet801, AEDB$diet802, useNA = "ifany", dnn = c("Smoker", "Past smoker"))
cat("\nFixing smoking status.\n")
attach(AEDB)
AEDB[,"SmokerStatus"] <- NA
AEDB$SmokerStatus[diet802 == "don't know"] <- "Never smoked"
AEDB$SmokerStatus[diet802 == "I still smoke"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "no"] <- "Never smoked"
AEDB$SmokerStatus[SmokerCurrent == "no" & diet802 == "yes"] <- "Ex-smoker"
AEDB$SmokerStatus[SmokerCurrent == "yes"] <- "Current smoker"
AEDB$SmokerStatus[SmokerCurrent == "no data available/missing"] <- NA
# AEDB$SmokerStatus[is.na(SmokerCurrent)] <- "Never smoked"
detach(AEDB)
cat("\n* Current smoking status.\n")
table(AEDB$SmokerCurrent,
useNA = "ifany",
dnn = c("Current smoker"))
cat("\n* Updated smoking status.\n")
table(AEDB$SmokerStatus,
useNA = "ifany",
dnn = c("Updated smoking status"))
cat("\n* Comparing to 'SmokerCurrent'.\n")
table(AEDB$SmokerStatus, AEDB$SmokerCurrent,
useNA = "ifany",
dnn = c("Updated smoking status", "Current smoker"))
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "DM.composite", "DiabetesStatus"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$DiabetesStatus <- to_factor(AEDB.temp$DiabetesStatus)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix the alcohol status variable.
# Fix diabetes
attach(AEDB)
AEDB[,"AlcoholUse"] <- NA
AEDB$AlcoholUse[diet810 == -999] <- NA
AEDB$AlcoholUse[diet810 == 0] <- "No"
AEDB$AlcoholUse[diet810 == 1] <- "Yes"
detach(AEDB)
table(AEDB$AlcoholUse)
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "diet810", "AlcoholUse"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$AlcoholUse <- to_factor(AEDB.temp$AlcoholUse)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We will also fix a history of CAD, stroke or peripheral intervention status variable. This will be based on CAD_history, Stroke_history, and Peripheral.interv
# Fix diabetes
attach(AEDB)
AEDB[,"MedHx_CVD"] <- NA
AEDB$MedHx_CVD[CAD_history == 0 | Stroke_history == 0 | Peripheral.interv == 0] <- "No"
AEDB$MedHx_CVD[CAD_history == 1 | Stroke_history == 1 | Peripheral.interv == 1] <- "yes"
detach(AEDB)
table(AEDB$CAD_history)
table(AEDB$Stroke_history)
table(AEDB$Peripheral.interv)
table(AEDB$MedHx_CVD)
# AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary", "diet810", "AlcoholUse"))
# require(labelled)
# AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
# AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
# AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
# AEDB.temp$AlcoholUse <- to_factor(AEDB.temp$AlcoholUse)
#
# DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
#
# rm(AEDB.temp)
We are interested in the following variables at baseline.
MCP1, and MCP1_pg_ug_2015)NOT AVAILABLE YET - MCP-1 plasma levels (pg/mL) (OLINK based)
sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-apple-darwin19.4.0 (64-bit)
Running under: macOS Catalina 10.15.4
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /usr/local/Cellar/openblas/0.3.9/lib/libopenblasp-r0.3.9.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] tools stats graphics grDevices utils datasets methods base
other attached packages:
[1] GGally_1.5.0 PerformanceAnalytics_2.0.4 xts_0.12-0 zoo_1.8-8 ggcorrplot_0.1.3.999
[6] Hmisc_4.4-0 Formula_1.2-3 lattice_0.20-41 survminer_0.4.6 survival_3.1-12
[11] labelled_2.4.0 openxlsx_4.1.5 ggpubr_0.3.0 tableone_0.11.1 haven_2.3.0
[16] devtools_2.3.0 usethis_1.6.1 MASS_7.3-51.6 DT_0.13 knitr_1.28
[21] forcats_0.5.0 stringr_1.4.0 purrr_0.3.4 tibble_3.0.1 ggplot2_3.3.0
[26] tidyverse_1.3.0 data.table_1.12.8 naniar_0.5.1 tidyr_1.1.0 dplyr_0.8.5
[31] optparse_1.6.6 readr_1.3.1
loaded via a namespace (and not attached):
[1] readxl_1.3.1 backports_1.1.7 plyr_1.8.6 splines_3.6.3 crosstalk_1.1.0.1 inline_0.3.15
[7] digest_0.6.25 htmltools_0.4.0 fansi_0.4.1 magrittr_1.5 checkmate_2.0.0 memoise_1.1.0
[13] cluster_2.1.0 remotes_2.1.1 modelr_0.1.8 matrixStats_0.56.0 prettyunits_1.1.1 jpeg_0.1-8.1
[19] colorspace_1.4-1 rvest_0.3.5 mitools_2.4 xfun_0.14 callr_3.4.3 crayon_1.3.4
[25] jsonlite_1.6.1 glue_1.4.1 gtable_0.3.0 car_3.0-8 pkgbuild_1.0.8 rstan_2.19.3
[31] abind_1.4-5 scales_1.1.1 DBI_1.1.0 rstatix_0.5.0.999 Rcpp_1.0.4.6 xtable_1.8-4
[37] htmlTable_1.13.3 foreign_0.8-75 km.ci_0.5-2 stats4_3.6.3 StanHeaders_2.19.2 survey_4.0
[43] htmlwidgets_1.5.1 httr_1.4.1 getopt_1.20.3 RColorBrewer_1.1-2 acepack_1.4.1 ellipsis_0.3.1
[49] reshape_0.8.8 pkgconfig_2.0.3 loo_2.2.0 farver_2.0.3 nnet_7.3-14 dbplyr_1.4.3
[55] tidyselect_1.1.0 labeling_0.3 rlang_0.4.6 reshape2_1.4.4 munsell_0.5.0 cellranger_1.1.0
[61] cli_2.0.2 generics_0.0.2 broom_0.5.6 yaml_2.2.1 processx_3.4.2 fs_1.4.1
[67] zip_2.0.4 survMisc_0.5.5 packrat_0.5.0 visdat_0.5.3 nlme_3.1-148 xml2_1.3.2
[73] compiler_3.6.3 rstudioapi_0.11 curl_4.3 png_0.1-7 e1071_1.7-3 testthat_2.3.2
[79] ggsignif_0.6.0 reprex_0.3.0 stringi_1.4.6 ps_1.3.3 desc_1.2.0 Matrix_1.2-18
[85] KMsurv_0.1-5 vctrs_0.3.0 pillar_1.4.4 lifecycle_0.2.0 R6_2.4.1 latticeExtra_0.6-29
[91] gridExtra_2.3 rio_0.5.16 sessioninfo_1.1.1 assertthat_0.2.1 pkgload_1.0.2 rprojroot_1.3-2
[97] withr_2.2.0 parallel_3.6.3 hms_0.5.3 quadprog_1.5-8 grid_3.6.3 rpart_4.1-15
[103] class_7.3-17 carData_3.0-4 lubridate_1.7.8 base64enc_0.1-3
Showing the baseline table of the whole Athero-Express Biobank.
# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
AEDB.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
# strata = "Symptoms.4g",
data = AEDB, includeNA = TRUE),
nonnormal = c(), missing = TRUE,
quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
format = "pf",
contDigits = 3)[,1:3]
Showing the baseline table of the CEA patients in the Athero-Express Biobank.
# Create baseline tables
# http://rstudio-pubs-static.s3.amazonaws.com/13321_da314633db924dc78986a850813a50d5.html
AEDB.CEA.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
# strata = "Symptoms.4g",
data = AEDB.CEA, includeNA = TRUE),
nonnormal = c(), missing = TRUE,
quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
format = "pf",
contDigits = 3)[,1:3]
MCP1_pg_ug_2015Showing the baseline table of the CEA patients in the Athero-Express Biobank with MCP1_pg_ug_2015.
AEDB.CEA.subset <- subset(AEDB.CEA, !is.na(MCP1_pg_ug_2015))
AEDB.CEA.subset.AsymptSympt.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
strata = "AsymptSympt2G",
data = AEDB.CEA.subset, includeNA = TRUE),
nonnormal = c(), missing = TRUE,
quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
format = "pf",
contDigits = 3)[,1:6]
MCP1_pg_ug_2015 and MCP1Showing the baseline table of the CEA patients in the Athero-Express Biobank with MCP1_pg_ug_2015 and MCP1.
AEDB.CEA.subset.combo <- subset(AEDB.CEA, !is.na(MCP1_pg_ug_2015) | !is.na(MCP1))
AEDB.CEA.subset.combo.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
strata = "AsymptSympt2G",
data = AEDB.CEA.subset.combo, includeNA = TRUE),
nonnormal = c(), missing = TRUE,
quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
format = "pf",
contDigits = 3)[,1:6]
Showing the baseline table of the CEA patients in the Athero-Express Biobank with plasma MCP1 levels.
NOT AVAILABLE YET
AEDB.CEA.subset.plasma <- subset(AEDB.CEA, !is.na(MCP1_plasma))
AEDB.CEA.subset.plasma.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
strata = "AsymptSympt2G",
data = AEDB.CEA.subset.plasma, includeNA = TRUE),
nonnormal = c(), missing = TRUE,
quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
format = "pf",
contDigits = 3)[,1:6]
Showing the baseline table of the CEA patients in the Athero-Express Biobank with both plasma and plaque MCP1 levels.
NOT AVAILABLE YET
AEDB.CEA.subset.both <- subset(AEDB.CEA, !is.na(MCP1_pg_ug_2015) & !is.na(MCP1))
AEDB.CEA.subset.both.tableOne = print(CreateTableOne(vars = basetable_vars,
# factorVars = basetable_bin,
strata = "AsymptSympt2G",
data = AEDB.CEA.subset.both, includeNA = TRUE),
nonnormal = c(), missing = TRUE,
quote = FALSE, noSpaces = FALSE, showAllLevels = TRUE, explain = TRUE,
format = "pf",
contDigits = 3)[,1:6]
Writing the baseline table to Excel format.
# Write basetable
require(openxlsx)
write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.wholeCEA.xlsx"),
AEDB.CEA.tableOne,
row.names = TRUE,
col.names = TRUE,
sheetName = "wholeAEDB_Baseline")
write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.subsetCEA.xlsx"),
AEDB.CEA.subset.tableOne,
row.names = TRUE,
col.names = TRUE,
sheetName = "subsetAEDB_Baseline")
write.xlsx(file = paste0(BASELINE_loc, "/",Today,".",PROJECTNAME,".AE.BaselineTable.subsetCEAserum.xlsx"),
AEDB.CEA.subset.serum.tableOne,
row.names = TRUE,
col.names = TRUE,
sheetName = "subsetAEDB_Baseline_serum")
Here we inspect the data and when necessary transform quantitative measures. We will inspect the raw, natural log transformed + the smallest measurement, and inverse-normal transformation.
We will explore the plaque levels. As noted above, we will use MCP1_pg_ug_2015, this was experiment 2 in 2015 on the LUMINEX-platform and measurements were corrected for total plaque protein content.
summary(AEDB.CEA$MCP1_pg_ug_2015)
do.call(rbind , by(AEDB.CEA$MCP1_pg_ug_2015, AEDB.CEA$AsymptSympt2G, summary))
summary(AEDB.CEA$MCP1_pg_ml_2015)
do.call(rbind , by(AEDB.CEA$MCP1_pg_ml_2015, AEDB.CEA$AsymptSympt2G, summary))
library(patchwork)
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ug_2015",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
# add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
title = "MCP1 plaque levels",
xlab = "pg/ug",
ggtheme = theme_minimal())
min_MCP1_pg_ug_2015 <- min(AEDB.CEA$MCP1_pg_ug_2015, na.rm = TRUE)
min_MCP1_pg_ug_2015
AEDB.CEA$MCP1_pg_ug_2015_LN <- log(AEDB.CEA$MCP1_pg_ug_2015 + min_MCP1_pg_ug_2015)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ug_2015_LN",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
# add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
# title = "MCP1 plaque levels",
xlab = "natural log-transformed pg/ug",
ggtheme = theme_minimal())
AEDB.CEA$MCP1_pg_ug_2015_rank <- qnorm((rank(AEDB.CEA$MCP1_pg_ug_2015, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1_pg_ug_2015)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ug_2015_rank",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
title = "MCP1 plaque levels",
xlab = "inverse-normal transformation pg/ug",
ggtheme = theme_minimal())
p1
p2
p3
# ggpar(p1, legend = "") / ggpar(p2, legend = "") | ggpar(p3, legend = "right")
rm(p1, p2, p3)
We will explore the MCP1_pg_ml_2015 levels and compare to the protein content corrected ones.
library(patchwork)
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ml_2015",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
# add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
title = "MCP1 plaque levels",
xlab = "pg/mL",
ggtheme = theme_minimal())
min_MCP1_pg_ml_2015 <- min(AEDB.CEA$MCP1_pg_ml_2015, na.rm = TRUE)
min_MCP1_pg_ml_2015
AEDB.CEA$MCP1_pg_ml_2015_LN <- log(AEDB.CEA$MCP1_pg_ml_2015 + min_MCP1_pg_ml_2015)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ml_2015_LN",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
# add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
# title = "MCP1 plaque levels",
xlab = "natural log-transformed pg/mL",
ggtheme = theme_minimal())
AEDB.CEA$MCP1_pg_ml_2015_rank <- qnorm((rank(AEDB.CEA$MCP1_pg_ml_2015, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1_pg_ml_2015)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_pg_ml_2015_rank",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
title = "MCP1 plaque levels",
xlab = "inverse-normal transformation pg/mL",
ggtheme = theme_minimal())
p1
p2
p3
# ggpar(p1, legend = "") / ggpar(p2, legend = "") | ggpar(p3, legend = "right")
rm(p1, p2, p3)
We will explore the plaque levels. As noted above, we will use MCP1, this was experiment 1 on the LUMINEX-platform and measurements were corrected for total plaque protein content.
# summary(AEDB.CEA$MCP1)
#
# do.call(rbind , by(AEDB.CEA$MCP1, AEDB.CEA$AsymptSympt2G, summary))
#
# attach(AEDB.CEA)
AEDB.CEA$MCP1[MCP1 == 0] <- NA
# detach(AEDB.CEA)
summary(AEDB.CEA$MCP1)
do.call(rbind , by(AEDB.CEA$MCP1, AEDB.CEA$AsymptSympt2G, summary))
p1 <- ggpubr::gghistogram(AEDB.CEA, "MCP1",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
# add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
title = "MCP1 plaque levels",
xlab = "pg/mL",
ggtheme = theme_minimal())
min_MCP1 <- min(AEDB.CEA$MCP1, na.rm = TRUE)
min_MCP1
AEDB.CEA$MCP1_LN <- log(AEDB.CEA$MCP1 + min_MCP1)
p2 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_LN",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
# add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
title = "MCP1 plaque levels",
xlab = "natural log-transformed pg/ug",
ggtheme = theme_minimal())
AEDB.CEA$MCP1_rank <- qnorm((rank(AEDB.CEA$MCP1, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1)))
p3 <- ggpubr::gghistogram(AEDB.CEA, "MCP1_rank",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
title = "MCP1 plaque levels",
xlab = "inverse-normal transformation pg/ug",
ggtheme = theme_minimal())
p1
p2
p3
# ggpar(p1, legend = "") / ggpar(p2, legend = "") | ggpar(p3, legend = "right")
rm(p1, p2, p3)
Here we compare the MCP1 plaque levels from experiment 1 with those experiment 2. The latter we measured in pg/mL and also corrected for the total protein content (pg/ug).
p1 <- ggpubr::ggscatter(AEDB.CEA,
x = "MCP1_rank",
y = "MCP1_pg_ml_2015_rank",
color = "#1290D9",
# fill = "Gender",
# palette = c("#1290D9", "#DB003F"),
add = "reg.line",
add.params = list(color = "black", linetype = 2),
cor.coef = TRUE, cor.method = "spearman",
xlab = "experiment 1",
ylab = "experiment 2",
title = "MCP1 plaque levels, INT, [pg/mL]",
ggtheme = theme_minimal())
p1
p2 <- ggpubr::ggscatter(AEDB.CEA,
x = "MCP1_rank",
y = "MCP1_pg_ug_2015_rank",
color = "#1290D9",
# fill = "Gender",
# palette = c("#1290D9", "#DB003F"),
add = "reg.line",
add.params = list(color = "black", linetype = 2),
cor.coef = TRUE, cor.method = "spearman",
xlab = "experiment 1",
ylab = "experiment 2",
title = "MCP1 plaque levels, INT, [pg/mL]/[pg/ug]",
ggtheme = theme_minimal())
p2
p3 <- ggpubr::ggscatter(AEDB.CEA,
x = "MCP1_pg_ml_2015_rank",
y = "MCP1_pg_ug_2015_rank",
color = "#1290D9",
# fill = "Gender",
# palette = c("#1290D9", "#DB003F"),
add = "reg.line",
add.params = list(color = "black", linetype = 2),
cor.coef = TRUE, cor.method = "spearman",
xlab = "experiment 2, [pg/mL]",
ylab = "experiment 2, [pg/ug]",
title = "MCP1 plaque levels, INT",
ggtheme = theme_minimal())
p3
NOT AVAILABLE YET
In line with the previous work by Marios Georgakis we will apply natural log transformation on all proteins and focus the analysis on MCP1 in plasma and plaque.
The analyses are focused on three elements:
Age]Gender]Hypertension.composite]DiabetesStatus]SmokerStatus]LDL_final]Med.Statin.LLD]Med.all.antiplatelet]GFR_MDRD]BMI]MedHx_CVD] combination of [CAD_history, Stroke_history, Peripheral.interv]stenose]ORdate_year] as we discovered in Van Lammeren et al. the composition of the plaque and therefore the Athero-Express Biobank Study has changed over the years. Likely through changes in lifestyle and primary prevention regimes.We will analyze the data through four different models
In the cross-sectional analysis of plaque and plasma MCP1, IL6, and IL6R levels we will focus on the following plaque vulnerability phenotypes:
Continous traits
# macrophages
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$macmean0)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.0000 0.0733 0.3133 0.7688 1.0000 15.1000 679
min_macmean <- min(AEDB.CEA$macmean0, na.rm = TRUE)
cat(paste0("\nMinimum value % macrophages: ",min_macmean,".\n"))
Minimum value % macrophages: 0.
AEDB.CEA$Macrophages_LN <- log(AEDB.CEA$macmean0 + min_macmean)
ggpubr::gghistogram(AEDB.CEA, "Macrophages_LN",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "% macrophages",
xlab = "natural log-transformed %",
ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$Macrophages_rank <- qnorm((rank(AEDB.CEA$macmean0, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$macmean0)))
ggpubr::gghistogram(AEDB.CEA, "Macrophages_rank",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "% macrophages",
xlab = "inverse-rank normalized %",
ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
# smooth muscle cells
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$macmean0)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.0000 0.0733 0.3133 0.7688 1.0000 15.1000 679
min_smcmean <- min(AEDB.CEA$smcmean0, na.rm = TRUE)
cat(paste0("\nMinimum value % smooth muscle cells: ",min_smcmean,".\n"))
Minimum value % smooth muscle cells: 0.
AEDB.CEA$SMC_LN <- log(AEDB.CEA$smcmean0 + min_smcmean)
ggpubr::gghistogram(AEDB.CEA, "SMC_LN",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "% smooth muscle cells",
xlab = "natural log-transformed %",
ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$SMC_rank <- qnorm((rank(AEDB.CEA$smcmean0, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$smcmean0)))
ggpubr::gghistogram(AEDB.CEA, "SMC_rank",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "% smooth muscle cells",
xlab = "inverse-rank normalized %",
ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
# vessel density
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$vessel_density_averaged)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.000 4.000 7.000 8.322 11.300 48.000 813
min_vesseldensity <- min(AEDB.CEA$vessel_density_averaged, na.rm = TRUE)
min_vesseldensity
[1] 0
cat(paste0("\nMinimum value number of intraplaque neovessels per 3-4 hotspots: ",min_vesseldensity,".\n"))
Minimum value number of intraplaque neovessels per 3-4 hotspots: 0.
AEDB.CEA$VesselDensity_LN <- log(AEDB.CEA$vessel_density_averaged + min_vesseldensity)
ggpubr::gghistogram(AEDB.CEA, "VesselDensity_LN",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "number of intraplaque neovessels per 3-4 hotspots",
xlab = "natural log-transformed number",
ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
AEDB.CEA$VesselDensity_rank <- qnorm((rank(AEDB.CEA$vessel_density_averaged, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$vessel_density_averaged)))
ggpubr::gghistogram(AEDB.CEA, "VesselDensity_rank",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "median",
#add_density = TRUE,
rug = TRUE,
#add.params = list(color = "black", linetype = 2),
title = "number of intraplaque neovessels per 3-4 hotspots",
xlab = "inverse-rank normalized number",
ggtheme = theme_minimal())
Using `bins = 30` by default. Pick better value with the argument `bins`.
Binary traits
# calcification
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Calc.bin)
no/minor moderate/heavy NA's
1005 852 531
contrasts(AEDB.CEA$Calc.bin)
moderate/heavy
no/minor 0
moderate/heavy 1
AEDB.CEA$CalcificationPlaque <- as.factor(AEDB.CEA$Calc.bin)
df <- AEDB.CEA %>%
filter(!is.na(CalcificationPlaque)) %>%
group_by(Gender, CalcificationPlaque) %>%
summarise(counts = n())
ggpubr::ggbarplot(df, x = "CalcificationPlaque", y = "counts",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#DB003F", "#1290D9"),
label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
title = "Calcification",
xlab = "calcification",
ggtheme = theme_minimal())
rm(df)
# collagen
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Collagen.bin)
no/minor moderate/heavy NA's
381 1472 535
contrasts(AEDB.CEA$Collagen.bin)
moderate/heavy
no/minor 0
moderate/heavy 1
AEDB.CEA$CollagenPlaque <- as.factor(AEDB.CEA$Collagen.bin)
df <- AEDB.CEA %>%
filter(!is.na(CollagenPlaque)) %>%
group_by(Gender, CollagenPlaque) %>%
summarise(counts = n())
ggpubr::ggbarplot(df, x = "CollagenPlaque", y = "counts",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#DB003F", "#1290D9"),
label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
title = "Collagen",
xlab = "collagen",
ggtheme = theme_minimal())
rm(df)
# fat 10%
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$Fat.bin_10)
<10% >10% NA's
541 1321 526
contrasts(AEDB.CEA$Fat.bin_10)
>10%
<10% 0
>10% 1
AEDB.CEA$Fat10Perc <- as.factor(AEDB.CEA$Fat.bin_10)
df <- AEDB.CEA %>%
filter(!is.na(Fat10Perc)) %>%
group_by(Gender, Fat10Perc) %>%
summarise(counts = n())
ggpubr::ggbarplot(df, x = "Fat10Perc", y = "counts",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#DB003F", "#1290D9"),
label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
title = "Intraplaque fat",
xlab = "intraplaque fat",
ggtheme = theme_minimal())
rm(df)
# IPH
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$IPH.bin)
no yes NA's
747 1111 530
contrasts(AEDB.CEA$IPH.bin)
yes
no 0
yes 1
AEDB.CEA$IPH <- as.factor(AEDB.CEA$IPH.bin)
df <- AEDB.CEA %>%
filter(!is.na(IPH)) %>%
group_by(Gender, IPH) %>%
summarise(counts = n())
ggpubr::ggbarplot(df, x = "IPH", y = "counts",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#DB003F", "#1290D9"),
label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
title = "Intraplaque hemorrhage",
xlab = "intraplaque hemorrhage",
ggtheme = theme_minimal())
rm(df)
# Symptoms
cat("Summary of data.\n")
Summary of data.
summary(AEDB.CEA$AsymptSympt)
Asymptomatic Ocular and others Symptomatic NA's
266 529 1582 11
contrasts(AEDB.CEA$AsymptSympt)
Ocular and others Symptomatic
Asymptomatic 0 0
Ocular and others 1 0
Symptomatic 0 1
AEDB.CEA$AsymptSympt <- as.factor(AEDB.CEA$AsymptSympt)
df <- AEDB.CEA %>%
filter(!is.na(AsymptSympt)) %>%
group_by(Gender, AsymptSympt) %>%
summarise(counts = n())
ggpubr::ggbarplot(df, x = "AsymptSympt", y = "counts",
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#DB003F", "#1290D9"),
label = TRUE, lab.vjust = 2, lab.col = "#FFFFFF",
title = "Symptoms",
xlab = "symptoms",
ggtheme = theme_minimal())
rm(df)
Here we compare the MCP1 plaque levels from experiment 1 with those experiment 2. The latter we measured in pg/mL and also corrected for the total protein content (pg/ug).
p1 <- ggpubr::ggscatter(AEDB.CEA,
x = "ORyear",
y = "MCP1_rank",
color = "#1290D9",
# fill = "Gender",
# palette = c("#1290D9", "#DB003F"),
add = "reg.line",
add.params = list(color = "black", linetype = 2),
cor.coef = TRUE, cor.method = "spearman",
xlab = "year of surgery",
ylab = "experiment 1",
title = "MCP1 plaque levels, INT, [pg/mL]",
ggtheme = theme_minimal())
p1
p2 <- ggpubr::ggscatter(AEDB.CEA,
x = "ORyear",
y = "MCP1_pg_ml_2015_rank",
color = "#1290D9",
# fill = "Gender",
# palette = c("#1290D9", "#DB003F"),
add = "reg.line",
add.params = list(color = "black", linetype = 2),
cor.coef = TRUE, cor.method = "spearman",
xlab = "year of surgery",
ylab = "experiment 2, [pg/mL]",
title = "MCP1 plaque levels, INT, [pg/mL]/[pg/ug]",
ggtheme = theme_minimal())
p2
p3 <- ggpubr::ggscatter(AEDB.CEA,
x = "ORyear",
y = "MCP1_pg_ug_2015_rank",
color = "#1290D9",
# fill = "Gender",
# palette = c("#1290D9", "#DB003F"),
add = "reg.line",
add.params = list(color = "black", linetype = 2),
cor.coef = TRUE, cor.method = "spearman",
xlab = "year of surgery",
ylab = "experiment 2, [pg/ug]",
title = "MCP1 plaque levels, INT",
ggtheme = theme_minimal())
p3
In this section we make some variables to assist with analysis.
AEDB.CEA.samplesize = nrow(AEDB.CEA)
TRAITS.PROTEIN = c("IL6_LN", "MCP1_LN", "IL6_pg_ug_2015_LN", "IL6R_pg_ug_2015_LN", "MCP1_pg_ug_2015_LN")
TRAITS.PROTEIN.RANK = c("IL6_rank", "MCP1_rank", "IL6_pg_ug_2015_rank", "IL6R_pg_ug_2015_rank", "MCP1_pg_ug_2015_rank")
TRAITS.CON = c("Macrophages_LN", "SMC_LN", "VesselDensity_LN")
TRAITS.CON.RANK = c("Macrophages_rank", "SMC_rank", "VesselDensity_rank")
TRAITS.BIN = c("CalcificationPlaque", "CollagenPlaque", "Fat10Perc", "IPH")
# "Hospital",
# "Age", "Gender",
# "TC_final", "LDL_final", "HDL_final", "TG_final",
# "systolic", "diastoli", "GFR_MDRD", "BMI",
# "KDOQI", "BMI_WHO",
# "SmokerCurrent", "eCigarettes", "ePackYearsSmoking",
# "DiabetesStatus", "Hypertension.composite",
# "Hypertension.drugs", "Med.anticoagulants", "Med.all.antiplatelet", "Med.Statin.LLD",
# "Stroke_Dx", "sympt", "Symptoms.5G", "restenos",
# "EP_composite", "EP_composite_time",
# "macmean0", "smcmean0", "Macrophages.bin", "SMC.bin",
# "neutrophils", "Mast_cells_plaque",
# "IPH.bin", "vessel_density_averaged",
# "Calc.bin", "Collagen.bin",
# "Fat.bin_10", "Fat.bin_40", "OverallPlaquePhenotype",
# "IL6_pg_ug_2015", "MCP1_pg_ug_2015",
# "QC2018_FILTER", "CHIP", "SAMPLE_TYPE",
# "CAD_history", "Stroke_history", "Peripheral.interv",
# "stenose"
# 1. Age (continuous in 1-year increment). [Age]
# 2. Sex (male vs. female). [Gender]
# 3. Presence of hypertension at baseline (defined either as history of hypertension, SBP ≥140 mm Hg, DBP ≥90 mm Hg, or prescription of antihypertensive medications). [Hypertension.composite]
# 4. Presence of diabetes mellitus at baseline (defined either as a history of diabetes, administration of glucose lowering medication, HbA1c ≥6.5%, fasting glucose ≥126 mg/dl, .or random glucose levels ≥200 mg/dl). [DiabetesStatus]
# 5. Smoking (current, ex-, never). [SmokerCurrent]
# 6. LDL-C levels (continuous). [LDL_final]
# 7. Use of lipid-lowering drugs. [Med.Statin.LLD]
# 8. Use of antiplatelet drugs. [Med.all.antiplatelet]
# 9. eGFR (continuous). [GFR_MDRD]
# 10. BMI (continuous). [BMI]
# 11. History of cardiovascular disease (stroke, coronary artery disease, peripheral artery disease). [CAD_history, Stroke_history, Peripheral.interv]
# 12. Level of stenosis (50-70% vs. 70-99%). [stenose]
# 13. Presenting symptoms (asymptomatic, ocular, TIA, or stroke). [Symptoms.5G]
# 14. hsCRP circulating levels (ln-transformed, continuous). [hsCRP_plasma]
# 15. IL-6 plaque levels (ln-transformed, continuous). [IL6_pg_ug_2015_LN]
# Models
# Model 1: adjusted for age and sex
# Model 2: adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis,
# Model 3: same to model 2, with additional adjustments for circulating CRP levels
# Model 4: same to model 2 with additional adjustment for IL6 levels in the plaque
COVARIATES_M1 = c("Age", "Gender")
COVARIATES_M2 = c(COVARIATES_M1,
"Hypertension.composite", "DiabetesStatus", "SmokerCurrent",
"Med.Statin.LLD", "Med.all.antiplatelet",
"GFR_MDRD", "BMI",
"CAD_history", "Stroke_history", "Peripheral.interv",
"stenose")
COVARIATES_M3 = c(COVARIATES_M2, "LDL_final")
COVARIATES_M4 = c(COVARIATES_M2, "hsCRP_plasma")
COVARIATES_M5 = c(COVARIATES_M2, "IL6_pg_ug_2015_LN")
COVARIATES_M5rank = c(COVARIATES_M2, "IL6_pg_ug_2015_rank")
In this model we correct for Age, Gender, and year of surgery.
Here we use the inverse-rank normalized data - visually this is more normally distributed.
Analysis of continuous/quantitative plaque traits as a function of plasma/plaque MCP1 levels.
GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
PROTEIN = TRAITS.PROTEIN.RANK[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
for (trait in 1:length(TRAITS.CON.RANK)) {
TRAIT = TRAITS.CON.RANK[trait]
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
### univariate
fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender, data = currentDF)
model_step <- stepAIC(fit, direction = "both", trace = FALSE)
print(model_step)
print(summary(fit))
GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
GLM.results = rbind(GLM.results, GLM.results.TEMP)
}
}
Analysis of IL6_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ Gender, data = currentDF)
Coefficients:
(Intercept) Gendermale
0.1147 -0.1457
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-1.6651 -0.7037 -0.0163 0.6872 3.0540
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.265124 0.327047 0.811 0.418
currentDF[, TRAIT] -0.043457 0.038912 -1.117 0.265
Age -0.002260 0.004714 -0.479 0.632
Gendermale -0.139309 0.092751 -1.502 0.134
Residual standard error: 0.9589 on 523 degrees of freedom
Multiple R-squared: 0.007532, Adjusted R-squared: 0.001839
F-statistic: 1.323 on 3 and 523 DF, p-value: 0.266
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: -0.043457
Standard error............: 0.038912
Odds ratio (effect size)..: 0.957
Lower 95% CI..............: 0.887
Upper 95% CI..............: 1.033
T-value...................: -1.116809
P-value...................: 0.2645889
R^2.......................: 0.007532
Adjusted r^2..............: 0.001839
Sample size of AE DB......: 2388
Sample size of model......: 527
Missing data %............: 77.93132
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ Gender, data = currentDF)
Coefficients:
(Intercept) Gendermale
0.1254 -0.1467
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-1.66930 -0.69331 -0.00069 0.66680 2.97072
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.247782 0.339493 0.730 0.466
currentDF[, TRAIT] 0.023438 0.040868 0.573 0.567
Age -0.001916 0.004866 -0.394 0.694
Gendermale -0.140271 0.094251 -1.488 0.137
Residual standard error: 0.964 on 519 degrees of freedom
Multiple R-squared: 0.005833, Adjusted R-squared: 8.659e-05
F-statistic: 1.015 on 3 and 519 DF, p-value: 0.3856
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: SMC_rank
Effect size...............: 0.023438
Standard error............: 0.040868
Odds ratio (effect size)..: 1.024
Lower 95% CI..............: 0.945
Upper 95% CI..............: 1.109
T-value...................: 0.573496
P-value...................: 0.5665574
R^2.......................: 0.005833
Adjusted r^2..............: 8.7e-05
Sample size of AE DB......: 2388
Sample size of model......: 523
Missing data %............: 78.09883
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ Gender, data = currentDF)
Coefficients:
(Intercept) Gendermale
0.1137 -0.1357
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-1.65204 -0.71205 -0.00561 0.69258 3.04629
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.335120 0.335382 0.999 0.318
currentDF[, TRAIT] -0.033064 0.052781 -0.626 0.531
Age -0.003204 0.004831 -0.663 0.508
Gendermale -0.135313 0.094253 -1.436 0.152
Residual standard error: 0.966 on 511 degrees of freedom
Multiple R-squared: 0.005607, Adjusted R-squared: -0.0002313
F-statistic: 0.9604 on 3 and 511 DF, p-value: 0.4112
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: -0.033064
Standard error............: 0.052781
Odds ratio (effect size)..: 0.967
Lower 95% CI..............: 0.872
Upper 95% CI..............: 1.073
T-value...................: -0.626443
P-value...................: 0.5313039
R^2.......................: 0.005607
Adjusted r^2..............: -0.000231
Sample size of AE DB......: 2388
Sample size of model......: 515
Missing data %............: 78.43384
Analysis of MCP1_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age Gendermale
0.34006 0.10727 -0.00823 0.28612
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-2.66459 -0.66985 -0.00544 0.65388 2.97049
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.340061 0.327464 1.038 0.29950
currentDF[, TRAIT] 0.107266 0.038479 2.788 0.00549 **
Age -0.008230 0.004734 -1.738 0.08271 .
Gendermale 0.286120 0.091290 3.134 0.00181 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.98 on 560 degrees of freedom
Multiple R-squared: 0.03666, Adjusted R-squared: 0.0315
F-statistic: 7.105 on 3 and 560 DF, p-value: 0.0001085
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: 0.107266
Standard error............: 0.038479
Odds ratio (effect size)..: 1.113
Lower 95% CI..............: 1.032
Upper 95% CI..............: 1.2
T-value...................: 2.787615
P-value...................: 0.005490063
R^2.......................: 0.036664
Adjusted r^2..............: 0.031504
Sample size of AE DB......: 2388
Sample size of model......: 564
Missing data %............: 76.38191
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age Gendermale
0.74540 -0.18145 -0.01324 0.23454
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-2.67204 -0.64103 -0.03139 0.64140 2.69183
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.74540 0.33159 2.248 0.02497 *
currentDF[, TRAIT] -0.18145 0.03959 -4.583 5.65e-06 ***
Age -0.01324 0.00477 -2.775 0.00570 **
Gendermale 0.23454 0.09053 2.591 0.00982 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9621 on 556 degrees of freedom
Multiple R-squared: 0.05804, Adjusted R-squared: 0.05296
F-statistic: 11.42 on 3 and 556 DF, p-value: 2.82e-07
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: SMC_rank
Effect size...............: -0.18145
Standard error............: 0.039588
Odds ratio (effect size)..: 0.834
Lower 95% CI..............: 0.772
Upper 95% CI..............: 0.901
T-value...................: -4.583453
P-value...................: 5.652515e-06
R^2.......................: 0.058039
Adjusted r^2..............: 0.052957
Sample size of AE DB......: 2388
Sample size of model......: 560
Missing data %............: 76.54941
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age Gendermale
0.39679 -0.09755 -0.00880 0.31637
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-2.69246 -0.65643 0.00031 0.65368 2.74036
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.39679 0.33186 1.196 0.23235
currentDF[, TRAIT] -0.09755 0.05111 -1.909 0.05680 .
Age -0.00880 0.00479 -1.837 0.06674 .
Gendermale 0.31637 0.09248 3.421 0.00067 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9842 on 549 degrees of freedom
Multiple R-squared: 0.03246, Adjusted R-squared: 0.02717
F-statistic: 6.139 on 3 and 549 DF, p-value: 0.0004131
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: -0.097554
Standard error............: 0.051106
Odds ratio (effect size)..: 0.907
Lower 95% CI..............: 0.821
Upper 95% CI..............: 1.003
T-value...................: -1.908837
P-value...................: 0.05680423
R^2.......................: 0.032459
Adjusted r^2..............: 0.027172
Sample size of AE DB......: 2388
Sample size of model......: 553
Missing data %............: 76.84255
Analysis of IL6_pg_ug_2015_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT]
0.0008327 0.1298916
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.2750 -0.6882 0.0017 0.6410 3.6437
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.080646 0.226702 0.356 0.722
currentDF[, TRAIT] 0.128610 0.029926 4.298 1.88e-05 ***
Age -0.001259 0.003217 -0.391 0.696
Gendermale 0.009559 0.064377 0.148 0.882
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9916 on 1124 degrees of freedom
Multiple R-squared: 0.01684, Adjusted R-squared: 0.01421
F-statistic: 6.417 on 3 and 1124 DF, p-value: 0.0002611
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: 0.12861
Standard error............: 0.029926
Odds ratio (effect size)..: 1.137
Lower 95% CI..............: 1.072
Upper 95% CI..............: 1.206
T-value...................: 4.297634
P-value...................: 1.875797e-05
R^2.......................: 0.016839
Adjusted r^2..............: 0.014215
Sample size of AE DB......: 2388
Sample size of model......: 1128
Missing data %............: 52.76382
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age,
data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age
0.379605 -0.140378 -0.005529
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.0677 -0.6892 -0.0049 0.6794 3.1705
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.386998 0.231838 1.669 0.0953 .
currentDF[, TRAIT] -0.141045 0.031339 -4.501 7.48e-06 ***
Age -0.005538 0.003272 -1.692 0.0909 .
Gendermale -0.009751 0.064944 -0.150 0.8807
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9908 on 1120 degrees of freedom
Multiple R-squared: 0.01862, Adjusted R-squared: 0.01599
F-statistic: 7.084 on 3 and 1120 DF, p-value: 0.0001021
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: SMC_rank
Effect size...............: -0.141045
Standard error............: 0.031339
Odds ratio (effect size)..: 0.868
Lower 95% CI..............: 0.817
Upper 95% CI..............: 0.923
T-value...................: -4.5006
P-value...................: 7.483581e-06
R^2.......................: 0.018623
Adjusted r^2..............: 0.015994
Sample size of AE DB......: 2388
Sample size of model......: 1124
Missing data %............: 52.93132
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT]
-0.005939 -0.045061
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.2631 -0.6756 0.0016 0.6855 3.3859
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.113002 0.237668 0.475 0.635
currentDF[, TRAIT] -0.045329 0.031251 -1.450 0.147
Age -0.001943 0.003369 -0.577 0.564
Gendermale 0.020800 0.067259 0.309 0.757
Residual standard error: 1.002 on 1048 degrees of freedom
Multiple R-squared: 0.002385, Adjusted R-squared: -0.0004703
F-statistic: 0.8353 on 3 and 1048 DF, p-value: 0.4745
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: -0.045329
Standard error............: 0.031251
Odds ratio (effect size)..: 0.956
Lower 95% CI..............: 0.899
Upper 95% CI..............: 1.016
T-value...................: -1.450483
P-value...................: 0.147223
R^2.......................: 0.002385
Adjusted r^2..............: -0.00047
Sample size of AE DB......: 2388
Sample size of model......: 1052
Missing data %............: 55.9464
Analysis of IL6R_pg_ug_2015_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT]
0.006105 0.171717
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.1452 -0.6436 -0.0070 0.6466 3.3803
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.323725 0.226682 1.428 0.154
currentDF[, TRAIT] 0.171595 0.029416 5.833 7.09e-09 ***
Age -0.003819 0.003210 -1.190 0.234
Gendermale -0.078695 0.064098 -1.228 0.220
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9838 on 1124 degrees of freedom
Multiple R-squared: 0.03229, Adjusted R-squared: 0.02971
F-statistic: 12.5 on 3 and 1124 DF, p-value: 4.811e-08
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: 0.171595
Standard error............: 0.029416
Odds ratio (effect size)..: 1.187
Lower 95% CI..............: 1.121
Upper 95% CI..............: 1.258
T-value...................: 5.833439
P-value...................: 7.092794e-09
R^2.......................: 0.03229
Adjusted r^2..............: 0.029707
Sample size of AE DB......: 2388
Sample size of model......: 1128
Missing data %............: 52.76382
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT]
0.003564 0.085455
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.2788 -0.6560 0.0049 0.6817 3.3960
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.279731 0.234166 1.195 0.2325
currentDF[, TRAIT] 0.077483 0.031462 2.463 0.0139 *
Age -0.003775 0.003299 -1.145 0.2526
Gendermale -0.023816 0.065312 -0.365 0.7154
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9939 on 1120 degrees of freedom
Multiple R-squared: 0.008145, Adjusted R-squared: 0.005488
F-statistic: 3.066 on 3 and 1120 DF, p-value: 0.0272
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: SMC_rank
Effect size...............: 0.077483
Standard error............: 0.031462
Odds ratio (effect size)..: 1.081
Lower 95% CI..............: 1.016
Upper 95% CI..............: 1.149
T-value...................: 2.462754
P-value...................: 0.0139371
R^2.......................: 0.008145
Adjusted r^2..............: 0.005488
Sample size of AE DB......: 2388
Sample size of model......: 1124
Missing data %............: 52.93132
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age,
data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age
0.363777 0.108548 -0.005145
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.3980 -0.6565 -0.0131 0.6619 3.3784
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.40529 0.23903 1.696 0.09027 .
currentDF[, TRAIT] 0.10889 0.03133 3.476 0.00053 ***
Age -0.00514 0.00338 -1.521 0.12864
Gendermale -0.05983 0.06724 -0.890 0.37373
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9985 on 1047 degrees of freedom
Multiple R-squared: 0.01437, Adjusted R-squared: 0.01154
F-statistic: 5.087 on 3 and 1047 DF, p-value: 0.001687
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: 0.108891
Standard error............: 0.03133
Odds ratio (effect size)..: 1.115
Lower 95% CI..............: 1.049
Upper 95% CI..............: 1.186
T-value...................: 3.475655
P-value...................: 0.0005304978
R^2.......................: 0.014366
Adjusted r^2..............: 0.011542
Sample size of AE DB......: 2388
Sample size of model......: 1051
Missing data %............: 55.98828
Analysis of MCP1_pg_ug_2015_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender,
data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Gendermale
-0.08851 -0.04407 0.10833
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.4091 -0.6867 0.0027 0.6638 3.3363
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.0521469 0.2245097 -0.232 0.8164
currentDF[, TRAIT] -0.0445154 0.0293223 -1.518 0.1292
Age -0.0005313 0.0031888 -0.167 0.8677
Gendermale 0.1084819 0.0633932 1.711 0.0873 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9994 on 1168 degrees of freedom
Multiple R-squared: 0.004169, Adjusted R-squared: 0.001611
F-statistic: 1.63 on 3 and 1168 DF, p-value: 0.1807
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: -0.044515
Standard error............: 0.029322
Odds ratio (effect size)..: 0.956
Lower 95% CI..............: 0.903
Upper 95% CI..............: 1.013
T-value...................: -1.518139
P-value...................: 0.1292499
R^2.......................: 0.004169
Adjusted r^2..............: 0.001611
Sample size of AE DB......: 2388
Sample size of model......: 1172
Missing data %............: 50.92127
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT], data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT]
-0.01583 -0.11198
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.4371 -0.6552 -0.0098 0.6354 3.3670
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.103027 0.228379 0.451 0.651986
currentDF[, TRAIT] -0.111746 0.030611 -3.651 0.000273 ***
Age -0.002390 0.003226 -0.741 0.458971
Gendermale 0.065262 0.063722 1.024 0.305970
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9951 on 1164 degrees of freedom
Multiple R-squared: 0.01332, Adjusted R-squared: 0.01078
F-statistic: 5.238 on 3 and 1164 DF, p-value: 0.001359
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: SMC_rank
Effect size...............: -0.111746
Standard error............: 0.030611
Odds ratio (effect size)..: 0.894
Lower 95% CI..............: 0.842
Upper 95% CI..............: 0.95
T-value...................: -3.650566
P-value...................: 0.0002732734
R^2.......................: 0.013321
Adjusted r^2..............: 0.010778
Sample size of AE DB......: 2388
Sample size of model......: 1168
Missing data %............: 51.08878
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Gender,
data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Gendermale
-0.1167 -0.1300 0.1283
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender, data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.2795 -0.6726 0.0001 0.6322 3.4098
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.1460528 0.2332909 -0.626 0.5314
currentDF[, TRAIT] -0.1299743 0.0305087 -4.260 2.22e-05 ***
Age 0.0004283 0.0033099 0.129 0.8971
Gendermale 0.1282621 0.0656979 1.952 0.0512 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.002 on 1090 degrees of freedom
Multiple R-squared: 0.01952, Adjusted R-squared: 0.01682
F-statistic: 7.234 on 3 and 1090 DF, p-value: 8.293e-05
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: -0.129974
Standard error............: 0.030509
Odds ratio (effect size)..: 0.878
Lower 95% CI..............: 0.827
Upper 95% CI..............: 0.932
T-value...................: -4.260235
P-value...................: 2.218457e-05
R^2.......................: 0.019522
Adjusted r^2..............: 0.016823
Sample size of AE DB......: 2388
Sample size of model......: 1094
Missing data %............: 54.1876
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
"Beta", "s.e.m.",
"OR", "low95CI", "up95CI",
"T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")
cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Uni.Protein.PlaquePhenotypes.RANK.MODEL1.xlsx"),
row.names = FALSE, col.names = TRUE, sheetName = "Con.Uni.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)
Analysis of binary plaque traits as a function of plasma/plaque MCP1 levels.
GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
PROTEIN = TRAITS.PROTEIN.RANK[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
for (trait in 1:length(TRAITS.BIN)) {
TRAIT = TRAITS.BIN[trait]
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
# print(class(currentDF[,TRAIT]))
### univariate
fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender,
data = currentDF, family = binomial(link = "logit"))
model_step <- stepAIC(fit, direction = "both", trace = FALSE)
print(model_step)
print(summary(fit))
GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
GLM.results = rbind(GLM.results, GLM.results.TEMP)
}
}
Analysis of IL6_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN],
family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN]
0.3364 0.1700
Degrees of Freedom: 527 Total (i.e. Null); 526 Residual
Null Deviance: 717.2
Residual Deviance: 713.8 AIC: 717.8
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.6055 -1.2824 0.9442 1.0453 1.2408
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.39815 0.69417 -0.574 0.5663
currentDF[, PROTEIN] 0.16861 0.09329 1.807 0.0707 .
Age 0.01255 0.01003 1.251 0.2108
Gendermale -0.15185 0.19853 -0.765 0.4443
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 717.23 on 527 degrees of freedom
Residual deviance: 711.68 on 524 degrees of freedom
AIC: 719.68
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: 0.168614
Standard error............: 0.093291
Odds ratio (effect size)..: 1.184
Lower 95% CI..............: 0.986
Upper 95% CI..............: 1.421
Z-value...................: 1.807395
P-value...................: 0.07070067
Hosmer and Lemeshow r^2...: 0.007736
Cox and Snell r^2.........: 0.010453
Nagelkerke's pseudo r^2...: 0.01407
Sample size of AE DB......: 2388
Sample size of model......: 528
Missing data %............: 77.88945
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ 1, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept)
1.439
Degrees of Freedom: 526 Total (i.e. Null); 526 Residual
Null Deviance: 515
Residual Deviance: 515 AIC: 517
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0039 0.5622 0.6281 0.6781 0.8143
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.50639 0.90034 2.784 0.00537 **
currentDF[, PROTEIN] -0.15233 0.11589 -1.314 0.18871
Age -0.01370 0.01281 -1.069 0.28490
Gendermale -0.18207 0.25283 -0.720 0.47146
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 514.99 on 526 degrees of freedom
Residual deviance: 511.76 on 523 degrees of freedom
AIC: 519.76
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: -0.152332
Standard error............: 0.115895
Odds ratio (effect size)..: 0.859
Lower 95% CI..............: 0.684
Upper 95% CI..............: 1.078
Z-value...................: -1.314401
P-value...................: 0.1887114
Hosmer and Lemeshow r^2...: 0.006272
Cox and Snell r^2.........: 0.00611
Nagelkerke's pseudo r^2...: 0.009798
Sample size of AE DB......: 2388
Sample size of model......: 527
Missing data %............: 77.93132
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Gendermale
0.8473 0.8007
Degrees of Freedom: 527 Total (i.e. Null); 526 Residual
Null Deviance: 529.5
Residual Deviance: 517.4 AIC: 521.4
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0323 0.5426 0.5923 0.6460 0.9468
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.633935 0.848167 0.747 0.454812
currentDF[, PROTEIN] 0.142074 0.114411 1.242 0.214314
Age 0.002994 0.012321 0.243 0.807985
Gendermale 0.822167 0.227638 3.612 0.000304 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 529.53 on 527 degrees of freedom
Residual deviance: 515.77 on 524 degrees of freedom
AIC: 523.77
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.142074
Standard error............: 0.114411
Odds ratio (effect size)..: 1.153
Lower 95% CI..............: 0.921
Upper 95% CI..............: 1.442
Z-value...................: 1.24179
P-value...................: 0.214314
Hosmer and Lemeshow r^2...: 0.025995
Cox and Snell r^2.........: 0.025733
Nagelkerke's pseudo r^2...: 0.040641
Sample size of AE DB......: 2388
Sample size of model......: 528
Missing data %............: 77.88945
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Age Gendermale
-1.53026 0.03187 0.77077
Degrees of Freedom: 527 Total (i.e. Null); 525 Residual
Null Deviance: 589.4
Residual Deviance: 569.3 AIC: 575.3
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0272 0.5126 0.6441 0.7617 1.3318
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.531376 0.788651 -1.942 0.052165 .
currentDF[, PROTEIN] 0.004591 0.106067 0.043 0.965479
Age 0.031879 0.011544 2.761 0.005754 **
Gendermale 0.771453 0.215860 3.574 0.000352 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 589.39 on 527 degrees of freedom
Residual deviance: 569.29 on 524 degrees of freedom
AIC: 577.29
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: IPH
Effect size...............: 0.004591
Standard error............: 0.106067
Odds ratio (effect size)..: 1.005
Lower 95% CI..............: 0.816
Upper 95% CI..............: 1.237
Z-value...................: 0.043279
P-value...................: 0.9654788
Hosmer and Lemeshow r^2...: 0.034097
Cox and Snell r^2.........: 0.037347
Nagelkerke's pseudo r^2...: 0.055534
Sample size of AE DB......: 2388
Sample size of model......: 528
Missing data %............: 77.88945
Analysis of MCP1_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Age
-0.66894 0.01552
Degrees of Freedom: 564 Total (i.e. Null); 563 Residual
Null Deviance: 763.6
Residual Deviance: 761.1 AIC: 765.1
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.5354 -1.3063 0.9435 1.0328 1.2735
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.520510 0.681656 -0.764 0.445
currentDF[, PROTEIN] -0.084572 0.087486 -0.967 0.334
Age 0.015036 0.009908 1.518 0.129
Gendermale -0.159870 0.193286 -0.827 0.408
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 763.63 on 564 degrees of freedom
Residual deviance: 759.27 on 561 degrees of freedom
AIC: 767.27
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: -0.084572
Standard error............: 0.087486
Odds ratio (effect size)..: 0.919
Lower 95% CI..............: 0.774
Upper 95% CI..............: 1.091
Z-value...................: -0.966696
P-value...................: 0.3336962
Hosmer and Lemeshow r^2...: 0.005706
Cox and Snell r^2.........: 0.007683
Nagelkerke's pseudo r^2...: 0.010366
Sample size of AE DB......: 2388
Sample size of model......: 565
Missing data %............: 76.34003
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN],
family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN]
1.5378 -0.5379
Degrees of Freedom: 562 Total (i.e. Null); 561 Residual
Null Deviance: 547.6
Residual Deviance: 524.3 AIC: 528.3
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.4625 0.4102 0.5643 0.6848 1.1638
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.84690 0.91211 3.121 0.0018 **
currentDF[, PROTEIN] -0.54841 0.11723 -4.678 2.9e-06 ***
Age -0.01803 0.01302 -1.384 0.1663
Gendermale -0.11699 0.25442 -0.460 0.6456
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 547.57 on 562 degrees of freedom
Residual deviance: 522.07 on 559 degrees of freedom
AIC: 530.07
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: -0.548413
Standard error............: 0.117233
Odds ratio (effect size)..: 0.578
Lower 95% CI..............: 0.459
Upper 95% CI..............: 0.727
Z-value...................: -4.677968
P-value...................: 2.897316e-06
Hosmer and Lemeshow r^2...: 0.046582
Cox and Snell r^2.........: 0.044294
Nagelkerke's pseudo r^2...: 0.071224
Sample size of AE DB......: 2388
Sample size of model......: 563
Missing data %............: 76.42379
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Gendermale
1.1894 0.6807 0.5650
Degrees of Freedom: 564 Total (i.e. Null); 562 Residual
Null Deviance: 554.2
Residual Deviance: 509.3 AIC: 515.3
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.4929 0.3605 0.5225 0.6691 1.3725
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.85428 0.86465 0.988 0.3231
currentDF[, PROTEIN] 0.68303 0.12124 5.634 1.76e-08 ***
Age 0.00499 0.01257 0.397 0.6914
Gendermale 0.56378 0.23128 2.438 0.0148 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 554.19 on 564 degrees of freedom
Residual deviance: 509.11 on 561 degrees of freedom
AIC: 517.11
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.68303
Standard error............: 0.12124
Odds ratio (effect size)..: 1.98
Lower 95% CI..............: 1.561
Upper 95% CI..............: 2.511
Z-value...................: 5.633721
P-value...................: 1.763624e-08
Hosmer and Lemeshow r^2...: 0.081344
Cox and Snell r^2.........: 0.076687
Nagelkerke's pseudo r^2...: 0.122697
Sample size of AE DB......: 2388
Sample size of model......: 565
Missing data %............: 76.34003
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Age Gendermale
-1.02619 0.02446 0.78389
Degrees of Freedom: 564 Total (i.e. Null); 562 Residual
Null Deviance: 625.9
Residual Deviance: 607.1 AIC: 613.1
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0414 0.5339 0.6471 0.7406 1.2555
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.06199 0.77564 -1.369 0.170946
currentDF[, PROTEIN] 0.10109 0.10144 0.997 0.318965
Age 0.02532 0.01139 2.224 0.026177 *
Gendermale 0.75630 0.20942 3.611 0.000304 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 625.93 on 564 degrees of freedom
Residual deviance: 606.14 on 561 degrees of freedom
AIC: 614.14
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: IPH
Effect size...............: 0.101091
Standard error............: 0.101437
Odds ratio (effect size)..: 1.106
Lower 95% CI..............: 0.907
Upper 95% CI..............: 1.35
Z-value...................: 0.996588
P-value...................: 0.3189645
Hosmer and Lemeshow r^2...: 0.031618
Cox and Snell r^2.........: 0.034421
Nagelkerke's pseudo r^2...: 0.051395
Sample size of AE DB......: 2388
Sample size of model......: 565
Missing data %............: 76.34003
Analysis of IL6_pg_ug_2015_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age Gendermale
-0.82326 -0.11365 0.01351 -0.20124
Degrees of Freedom: 1133 Total (i.e. Null); 1130 Residual
Null Deviance: 1572
Residual Deviance: 1561 AIC: 1569
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.405 -1.151 -1.013 1.182 1.494
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.823262 0.458227 -1.797 0.0724 .
currentDF[, PROTEIN] -0.113647 0.059989 -1.894 0.0582 .
Age 0.013512 0.006506 2.077 0.0378 *
Gendermale -0.201235 0.129656 -1.552 0.1206
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1571.7 on 1133 degrees of freedom
Residual deviance: 1561.2 on 1130 degrees of freedom
AIC: 1569.2
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: -0.113647
Standard error............: 0.059989
Odds ratio (effect size)..: 0.893
Lower 95% CI..............: 0.794
Upper 95% CI..............: 1.004
Z-value...................: -1.89445
P-value...................: 0.05816533
Hosmer and Lemeshow r^2...: 0.006689
Cox and Snell r^2.........: 0.009228
Nagelkerke's pseudo r^2...: 0.012306
Sample size of AE DB......: 2388
Sample size of model......: 1134
Missing data %............: 52.51256
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN],
family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN]
1.3407 -0.2859
Degrees of Freedom: 1135 Total (i.e. Null); 1134 Residual
Null Deviance: 1172
Residual Deviance: 1156 AIC: 1160
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0925 0.5434 0.6477 0.7187 0.9893
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.209758 0.559055 2.164 0.030469 *
currentDF[, PROTEIN] -0.284656 0.074277 -3.832 0.000127 ***
Age 0.002611 0.007932 0.329 0.742003
Gendermale -0.068954 0.160475 -0.430 0.667424
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1171.5 on 1135 degrees of freedom
Residual deviance: 1156.1 on 1132 degrees of freedom
AIC: 1164.1
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: -0.284656
Standard error............: 0.074277
Odds ratio (effect size)..: 0.752
Lower 95% CI..............: 0.65
Upper 95% CI..............: 0.87
Z-value...................: -3.832368
P-value...................: 0.0001269155
Hosmer and Lemeshow r^2...: 0.013161
Cox and Snell r^2.........: 0.013481
Nagelkerke's pseudo r^2...: 0.020951
Sample size of AE DB......: 2388
Sample size of model......: 1136
Missing data %............: 52.42881
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age Gendermale
-0.45642 0.49681 0.01386 0.86551
Degrees of Freedom: 1135 Total (i.e. Null); 1132 Residual
Null Deviance: 1320
Residual Deviance: 1232 AIC: 1240
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.2318 -1.0860 0.6253 0.8001 1.4676
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.456424 0.525551 -0.868 0.3851
currentDF[, PROTEIN] 0.496810 0.072834 6.821 9.03e-12 ***
Age 0.013863 0.007517 1.844 0.0651 .
Gendermale 0.865510 0.144282 5.999 1.99e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1319.7 on 1135 degrees of freedom
Residual deviance: 1231.7 on 1132 degrees of freedom
AIC: 1239.7
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.49681
Standard error............: 0.072834
Odds ratio (effect size)..: 1.643
Lower 95% CI..............: 1.425
Upper 95% CI..............: 1.896
Z-value...................: 6.821123
P-value...................: 9.033127e-12
Hosmer and Lemeshow r^2...: 0.066674
Cox and Snell r^2.........: 0.074533
Nagelkerke's pseudo r^2...: 0.108482
Sample size of AE DB......: 2388
Sample size of model......: 1136
Missing data %............: 52.42881
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Gendermale
0.02326 0.64534
Degrees of Freedom: 1134 Total (i.e. Null); 1133 Residual
Null Deviance: 1514
Residual Deviance: 1490 AIC: 1494
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.5453 -1.2340 0.8904 0.9307 1.2566
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.302686 0.470800 -0.643 0.520
currentDF[, PROTEIN] 0.065082 0.061907 1.051 0.293
Age 0.004786 0.006696 0.715 0.475
Gendermale 0.642790 0.131532 4.887 1.02e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1513.8 on 1134 degrees of freedom
Residual deviance: 1488.1 on 1131 degrees of freedom
AIC: 1496.1
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: IPH
Effect size...............: 0.065082
Standard error............: 0.061907
Odds ratio (effect size)..: 1.067
Lower 95% CI..............: 0.945
Upper 95% CI..............: 1.205
Z-value...................: 1.051285
P-value...................: 0.2931276
Hosmer and Lemeshow r^2...: 0.016972
Cox and Snell r^2.........: 0.022382
Nagelkerke's pseudo r^2...: 0.030389
Sample size of AE DB......: 2388
Sample size of model......: 1135
Missing data %............: 52.47069
Analysis of IL6R_pg_ug_2015_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Age Gendermale
-0.70308 0.01195 -0.21761
Degrees of Freedom: 1134 Total (i.e. Null); 1132 Residual
Null Deviance: 1573
Residual Deviance: 1567 AIC: 1573
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.351 -1.156 -1.036 1.190 1.372
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.722969 0.461171 -1.568 0.1170
currentDF[, PROTEIN] 0.050413 0.059798 0.843 0.3992
Age 0.012220 0.006533 1.871 0.0614 .
Gendermale -0.215830 0.129855 -1.662 0.0965 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1573.1 on 1134 degrees of freedom
Residual deviance: 1566.3 on 1131 degrees of freedom
AIC: 1574.3
Number of Fisher Scoring iterations: 3
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: 0.050413
Standard error............: 0.059798
Odds ratio (effect size)..: 1.052
Lower 95% CI..............: 0.935
Upper 95% CI..............: 1.182
Z-value...................: 0.843058
P-value...................: 0.3991959
Hosmer and Lemeshow r^2...: 0.004357
Cox and Snell r^2.........: 0.006021
Nagelkerke's pseudo r^2...: 0.008028
Sample size of AE DB......: 2388
Sample size of model......: 1135
Missing data %............: 52.47069
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ 1, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept)
1.303
Degrees of Freedom: 1136 Total (i.e. Null); 1136 Residual
Null Deviance: 1180
Residual Deviance: 1180 AIC: 1182
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.8412 0.6608 0.6871 0.7021 0.7501
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.055209 0.556645 1.896 0.058 .
currentDF[, PROTEIN] 0.054395 0.072780 0.747 0.455
Age 0.003366 0.007898 0.426 0.670
Gendermale 0.024221 0.157433 0.154 0.878
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1179.9 on 1136 degrees of freedom
Residual deviance: 1179.1 on 1133 degrees of freedom
AIC: 1187.1
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: 0.054395
Standard error............: 0.07278
Odds ratio (effect size)..: 1.056
Lower 95% CI..............: 0.916
Upper 95% CI..............: 1.218
Z-value...................: 0.74739
P-value...................: 0.4548283
Hosmer and Lemeshow r^2...: 0.000619
Cox and Snell r^2.........: 0.000642
Nagelkerke's pseudo r^2...: 0.000995
Sample size of AE DB......: 2388
Sample size of model......: 1137
Missing data %............: 52.38694
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age Gendermale
-0.44254 0.13586 0.01312 0.82461
Degrees of Freedom: 1136 Total (i.e. Null); 1133 Residual
Null Deviance: 1324
Residual Deviance: 1284 AIC: 1292
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.9008 -1.2841 0.6888 0.7635 1.2184
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.442537 0.517161 -0.856 0.3922
currentDF[, PROTEIN] 0.135860 0.068675 1.978 0.0479 *
Age 0.013117 0.007375 1.779 0.0753 .
Gendermale 0.824605 0.141034 5.847 5.01e-09 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1324.4 on 1136 degrees of freedom
Residual deviance: 1284.5 on 1133 degrees of freedom
AIC: 1292.5
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.13586
Standard error............: 0.068675
Odds ratio (effect size)..: 1.146
Lower 95% CI..............: 1.001
Upper 95% CI..............: 1.311
Z-value...................: 1.97829
P-value...................: 0.04789604
Hosmer and Lemeshow r^2...: 0.030128
Cox and Snell r^2.........: 0.034484
Nagelkerke's pseudo r^2...: 0.050122
Sample size of AE DB......: 2388
Sample size of model......: 1137
Missing data %............: 52.38694
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Gendermale
0.04247 0.15197 0.60545
Degrees of Freedom: 1134 Total (i.e. Null); 1132 Residual
Null Deviance: 1516
Residual Deviance: 1489 AIC: 1495
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.6477 -1.2918 0.8750 0.9619 1.3214
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.145527 0.475505 -0.306 0.7596
currentDF[, PROTEIN] 0.153359 0.062198 2.466 0.0137 *
Age 0.002740 0.006747 0.406 0.6847
Gendermale 0.605104 0.132160 4.579 4.68e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1515.7 on 1134 degrees of freedom
Residual deviance: 1489.0 on 1131 degrees of freedom
AIC: 1497
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: IPH
Effect size...............: 0.153359
Standard error............: 0.062198
Odds ratio (effect size)..: 1.166
Lower 95% CI..............: 1.032
Upper 95% CI..............: 1.317
Z-value...................: 2.46566
P-value...................: 0.0136761
Hosmer and Lemeshow r^2...: 0.017572
Cox and Snell r^2.........: 0.023192
Nagelkerke's pseudo r^2...: 0.031471
Sample size of AE DB......: 2388
Sample size of model......: 1135
Missing data %............: 52.47069
Analysis of MCP1_pg_ug_2015_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age Gendermale
-0.87403 -0.45247 0.01396 -0.19322
Degrees of Freedom: 1178 Total (i.e. Null); 1175 Residual
Null Deviance: 1634
Residual Deviance: 1571 AIC: 1579
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.7850 -1.1164 -0.7578 1.1280 1.9083
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.874028 0.460395 -1.898 0.0576 .
currentDF[, PROTEIN] -0.452467 0.062870 -7.197 6.16e-13 ***
Age 0.013956 0.006536 2.135 0.0327 *
Gendermale -0.193224 0.129705 -1.490 0.1363
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1633.9 on 1178 degrees of freedom
Residual deviance: 1571.0 on 1175 degrees of freedom
AIC: 1579
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: -0.452467
Standard error............: 0.06287
Odds ratio (effect size)..: 0.636
Lower 95% CI..............: 0.562
Upper 95% CI..............: 0.719
Z-value...................: -7.196888
P-value...................: 6.160221e-13
Hosmer and Lemeshow r^2...: 0.03853
Cox and Snell r^2.........: 0.051997
Nagelkerke's pseudo r^2...: 0.069339
Sample size of AE DB......: 2388
Sample size of model......: 1179
Missing data %............: 50.62814
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN],
family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN]
1.3322 -0.2276
Degrees of Freedom: 1180 Total (i.e. Null); 1179 Residual
Null Deviance: 1217
Residual Deviance: 1207 AIC: 1211
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0999 0.5754 0.6578 0.7138 0.9467
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.210693 0.546856 2.214 0.02683 *
currentDF[, PROTEIN] -0.227373 0.072305 -3.145 0.00166 **
Age 0.001751 0.007781 0.225 0.82191
Gendermale 0.001944 0.155632 0.012 0.99004
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1216.6 on 1180 degrees of freedom
Residual deviance: 1206.5 on 1177 degrees of freedom
AIC: 1214.5
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: -0.227373
Standard error............: 0.072305
Odds ratio (effect size)..: 0.797
Lower 95% CI..............: 0.691
Upper 95% CI..............: 0.918
Z-value...................: -3.144645
P-value...................: 0.001662884
Hosmer and Lemeshow r^2...: 0.008293
Cox and Snell r^2.........: 0.008507
Nagelkerke's pseudo r^2...: 0.013229
Sample size of AE DB......: 2388
Sample size of model......: 1181
Missing data %............: 50.54439
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age Gendermale
-0.33492 0.16339 0.01125 0.84917
Degrees of Freedom: 1180 Total (i.e. Null); 1177 Residual
Null Deviance: 1384
Residual Deviance: 1336 AIC: 1344
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.9529 -1.2790 0.6795 0.7714 1.2276
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.334921 0.503185 -0.666 0.5057
currentDF[, PROTEIN] 0.163390 0.066951 2.440 0.0147 *
Age 0.011250 0.007195 1.564 0.1179
Gendermale 0.849174 0.137286 6.185 6.19e-10 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1383.8 on 1180 degrees of freedom
Residual deviance: 1336.3 on 1177 degrees of freedom
AIC: 1344.3
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.16339
Standard error............: 0.066951
Odds ratio (effect size)..: 1.177
Lower 95% CI..............: 1.033
Upper 95% CI..............: 1.343
Z-value...................: 2.440433
P-value...................: 0.01466968
Hosmer and Lemeshow r^2...: 0.034383
Cox and Snell r^2.........: 0.039487
Nagelkerke's pseudo r^2...: 0.057213
Sample size of AE DB......: 2388
Sample size of model......: 1181
Missing data %............: 50.54439
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Gendermale
0.02354 -0.12418 0.62708
Degrees of Freedom: 1178 Total (i.e. Null); 1176 Residual
Null Deviance: 1576
Residual Deviance: 1549 AIC: 1555
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.6449 -1.2648 0.8841 0.9534 1.3387
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.166656 0.462054 -0.361 0.7183
currentDF[, PROTEIN] -0.123887 0.060696 -2.041 0.0412 *
Age 0.002781 0.006577 0.423 0.6725
Gendermale 0.626312 0.128886 4.859 1.18e-06 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1576.2 on 1178 degrees of freedom
Residual deviance: 1549.0 on 1175 degrees of freedom
AIC: 1557
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: IPH
Effect size...............: -0.123887
Standard error............: 0.060696
Odds ratio (effect size)..: 0.883
Lower 95% CI..............: 0.784
Upper 95% CI..............: 0.995
Z-value...................: -2.041093
P-value...................: 0.04124156
Hosmer and Lemeshow r^2...: 0.017232
Cox and Snell r^2.........: 0.022773
Nagelkerke's pseudo r^2...: 0.030886
Sample size of AE DB......: 2388
Sample size of model......: 1179
Missing data %............: 50.62814
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
"Beta", "s.e.m.",
"OR", "low95CI", "up95CI",
"Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")
cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Uni.Protein.PlaquePhenotypes.RANK.MODEL1.xlsx"),
row.names = FALSE, col.names = TRUE, sheetName = "Bin.Uni.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)
In this model we correct for Age, Gender, year of surgery, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis.
Here we use the inverse-rank normalized data - visually this is more normally distributed.
Analysis of continuous/quantitative plaque traits as a function of plasma/plaque MCP1 levels.
GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
Running linear regression...
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
PROTEIN = TRAITS.PROTEIN.RANK[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
for (trait in 1:length(TRAITS.CON.RANK)) {
TRAIT = TRAITS.CON.RANK[trait]
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
### univariate
fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender +
Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
model_step <- stepAIC(fit, direction = "both", trace = FALSE)
print(model_step)
print(summary(fit))
GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
GLM.results = rbind(GLM.results, GLM.results.TEMP)
}
}
Analysis of IL6_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Med.Statin.LLD +
CAD_history, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Med.Statin.LLDyes CAD_history
0.06578 -0.06829 -0.15943 0.17897
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-2.18012 -0.68054 0.01814 0.64545 3.12461
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.0235458 0.8716104 2.322 0.0207 *
currentDF[, TRAIT] -0.0685416 0.0417359 -1.642 0.1012
Age -0.0066245 0.0057643 -1.149 0.2510
Gendermale -0.1469518 0.1015109 -1.448 0.1484
Hypertension.compositeyes 0.0462797 0.1352200 0.342 0.7323
DiabetesStatusDiabetes -0.0287032 0.1144777 -0.251 0.8021
SmokerCurrentyes 0.0296470 0.0980327 0.302 0.7625
Med.Statin.LLDyes -0.1940609 0.1023977 -1.895 0.0587 .
Med.all.antiplateletyes -0.2470769 0.1608439 -1.536 0.1252
GFR_MDRD 0.0005454 0.0025737 0.212 0.8323
BMI -0.0165307 0.0123925 -1.334 0.1829
CAD_history 0.2248719 0.1011374 2.223 0.0267 *
Stroke_history 0.0695885 0.0961747 0.724 0.4697
Peripheral.interv -0.0107614 0.1147908 -0.094 0.9254
stenose50-70% -0.8489816 0.6177818 -1.374 0.1700
stenose70-90% -0.8371936 0.5706953 -1.467 0.1431
stenose90-99% -0.8337094 0.5690414 -1.465 0.1436
stenose100% (Occlusion) -1.3089080 0.6810469 -1.922 0.0552 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9653 on 462 degrees of freedom
Multiple R-squared: 0.03962, Adjusted R-squared: 0.004284
F-statistic: 1.121 on 17 and 462 DF, p-value: 0.3297
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: -0.068542
Standard error............: 0.041736
Odds ratio (effect size)..: 0.934
Lower 95% CI..............: 0.86
Upper 95% CI..............: 1.013
T-value...................: -1.64227
P-value...................: 0.1012144
R^2.......................: 0.039622
Adjusted r^2..............: 0.004284
Sample size of AE DB......: 2388
Sample size of model......: 480
Missing data %............: 79.8995
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ Gender + Med.Statin.LLD +
BMI + CAD_history, data = currentDF)
Coefficients:
(Intercept) Gendermale Med.Statin.LLDyes BMI CAD_history
0.62797 -0.14791 -0.17078 -0.01678 0.18459
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-2.10464 -0.69874 0.03157 0.67237 3.02975
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.0177233 0.8817683 2.288 0.0226 *
currentDF[, TRAIT] 0.0247937 0.0442872 0.560 0.5759
Age -0.0062426 0.0059358 -1.052 0.2935
Gendermale -0.1471284 0.1039038 -1.416 0.1575
Hypertension.compositeyes 0.0194356 0.1356093 0.143 0.8861
DiabetesStatusDiabetes -0.0182235 0.1157824 -0.157 0.8750
SmokerCurrentyes 0.0278929 0.0989731 0.282 0.7782
Med.Statin.LLDyes -0.1848209 0.1040135 -1.777 0.0762 .
Med.all.antiplateletyes -0.2376107 0.1622751 -1.464 0.1438
GFR_MDRD 0.0005086 0.0026001 0.196 0.8450
BMI -0.0174703 0.0124984 -1.398 0.1628
CAD_history 0.1915058 0.1021081 1.876 0.0614 .
Stroke_history 0.0570212 0.0971729 0.587 0.5576
Peripheral.interv 0.0059065 0.1162497 0.051 0.9595
stenose50-70% -0.8228165 0.6236546 -1.319 0.1877
stenose70-90% -0.8299597 0.5757742 -1.441 0.1501
stenose90-99% -0.7914493 0.5736687 -1.380 0.1684
stenose100% (Occlusion) -1.2535737 0.6865446 -1.826 0.0685 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9735 on 459 degrees of freedom
Multiple R-squared: 0.03312, Adjusted R-squared: -0.002686
F-statistic: 0.925 on 17 and 459 DF, p-value: 0.5443
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: SMC_rank
Effect size...............: 0.024794
Standard error............: 0.044287
Odds ratio (effect size)..: 1.025
Lower 95% CI..............: 0.94
Upper 95% CI..............: 1.118
T-value...................: 0.55984
P-value...................: 0.5758615
R^2.......................: 0.033124
Adjusted r^2..............: -0.002686
Sample size of AE DB......: 2388
Sample size of model......: 477
Missing data %............: 80.02513
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ Med.Statin.LLD + Med.all.antiplatelet +
CAD_history, data = currentDF)
Coefficients:
(Intercept) Med.Statin.LLDyes Med.all.antiplateletyes CAD_history
0.2792 -0.1532 -0.2243 0.1419
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-2.09803 -0.68750 0.01001 0.67790 3.09629
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.9561136 0.8855768 2.209 0.0277 *
currentDF[, TRAIT] -0.0323443 0.0567070 -0.570 0.5687
Age -0.0071652 0.0058979 -1.215 0.2250
Gendermale -0.1413460 0.1036164 -1.364 0.1732
Hypertension.compositeyes 0.0500332 0.1385484 0.361 0.7182
DiabetesStatusDiabetes -0.0297531 0.1175472 -0.253 0.8003
SmokerCurrentyes 0.0287580 0.0998963 0.288 0.7736
Med.Statin.LLDyes -0.1881625 0.1043566 -1.803 0.0720 .
Med.all.antiplateletyes -0.2581952 0.1641560 -1.573 0.1164
GFR_MDRD 0.0006495 0.0026302 0.247 0.8051
BMI -0.0144740 0.0127453 -1.136 0.2567
CAD_history 0.1948838 0.1024046 1.903 0.0577 .
Stroke_history 0.0843472 0.0983333 0.858 0.3915
Peripheral.interv 0.0036368 0.1168602 0.031 0.9752
stenose50-70% -0.7800714 0.6238008 -1.251 0.2118
stenose70-90% -0.8067160 0.5767651 -1.399 0.1626
stenose90-99% -0.7793910 0.5748524 -1.356 0.1758
stenose100% (Occlusion) -0.9176088 0.7281714 -1.260 0.2083
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9754 on 452 degrees of freedom
Multiple R-squared: 0.03081, Adjusted R-squared: -0.005638
F-statistic: 0.8453 on 17 and 452 DF, p-value: 0.64
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: -0.032344
Standard error............: 0.056707
Odds ratio (effect size)..: 0.968
Lower 95% CI..............: 0.866
Upper 95% CI..............: 1.082
T-value...................: -0.570376
P-value...................: 0.5687063
R^2.......................: 0.030814
Adjusted r^2..............: -0.005638
Sample size of AE DB......: 2388
Sample size of model......: 470
Missing data %............: 80.31826
Analysis of MCP1_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + Med.Statin.LLD + Med.all.antiplatelet,
data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age Gendermale Hypertension.compositeyes
0.371369 0.098495 -0.007782 0.304434 -0.224359
Med.Statin.LLDyes Med.all.antiplateletyes
-0.214084 0.325933
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.04992 -0.67471 0.01276 0.66488 2.76675
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.175752 0.858226 1.370 0.17131
currentDF[, TRAIT] 0.091886 0.040985 2.242 0.02541 *
Age -0.011585 0.005692 -2.035 0.04237 *
Gendermale 0.290308 0.098872 2.936 0.00348 **
Hypertension.compositeyes -0.233518 0.132648 -1.760 0.07895 .
DiabetesStatusDiabetes -0.121623 0.110871 -1.097 0.27318
SmokerCurrentyes -0.062330 0.095859 -0.650 0.51585
Med.Statin.LLDyes -0.220521 0.101730 -2.168 0.03066 *
Med.all.antiplateletyes 0.301211 0.154422 1.951 0.05167 .
GFR_MDRD -0.001676 0.002477 -0.677 0.49899
BMI -0.012215 0.011885 -1.028 0.30455
CAD_history 0.110540 0.099554 1.110 0.26739
Stroke_history 0.115056 0.093287 1.233 0.21803
Peripheral.interv -0.150917 0.117008 -1.290 0.19772
stenose50-70% -0.280324 0.622960 -0.450 0.65292
stenose70-90% -0.054810 0.578053 -0.095 0.92450
stenose90-99% -0.042985 0.576571 -0.075 0.94060
stenose100% (Occlusion) -0.487945 0.729821 -0.669 0.50407
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9798 on 495 degrees of freedom
Multiple R-squared: 0.07266, Adjusted R-squared: 0.04081
F-statistic: 2.282 on 17 and 495 DF, p-value: 0.002535
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: 0.091886
Standard error............: 0.040985
Odds ratio (effect size)..: 1.096
Lower 95% CI..............: 1.012
Upper 95% CI..............: 1.188
T-value...................: 2.241938
P-value...................: 0.02540749
R^2.......................: 0.072662
Adjusted r^2..............: 0.040814
Sample size of AE DB......: 2388
Sample size of model......: 513
Missing data %............: 78.51759
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + Med.Statin.LLD + Med.all.antiplatelet +
CAD_history, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age Gendermale Hypertension.compositeyes
0.79555 -0.18754 -0.01327 0.22987 -0.22144
Med.Statin.LLDyes Med.all.antiplateletyes CAD_history
-0.22763 0.32134 0.13508
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-2.82157 -0.67164 -0.01232 0.64680 2.51654
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.516767 0.843745 1.798 0.07284 .
currentDF[, TRAIT] -0.184221 0.041848 -4.402 1.32e-05 ***
Age -0.016216 0.005685 -2.853 0.00452 **
Gendermale 0.227577 0.098012 2.322 0.02064 *
Hypertension.compositeyes -0.217011 0.129139 -1.680 0.09351 .
DiabetesStatusDiabetes -0.111461 0.108990 -1.023 0.30697
SmokerCurrentyes -0.064436 0.093923 -0.686 0.49300
Med.Statin.LLDyes -0.226750 0.100142 -2.264 0.02399 *
Med.all.antiplateletyes 0.292797 0.151249 1.936 0.05346 .
GFR_MDRD -0.001337 0.002428 -0.551 0.58211
BMI -0.011722 0.011633 -1.008 0.31411
CAD_history 0.166154 0.097613 1.702 0.08935 .
Stroke_history 0.113839 0.091470 1.245 0.21389
Peripheral.interv -0.131918 0.115289 -1.144 0.25308
stenose50-70% -0.246421 0.610039 -0.404 0.68643
stenose70-90% -0.055765 0.566182 -0.098 0.92158
stenose90-99% -0.067374 0.564421 -0.119 0.90503
stenose100% (Occlusion) -0.599452 0.714404 -0.839 0.40182
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9594 on 492 degrees of freedom
Multiple R-squared: 0.09563, Adjusted R-squared: 0.06438
F-statistic: 3.06 on 17 and 492 DF, p-value: 3.937e-05
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: SMC_rank
Effect size...............: -0.184221
Standard error............: 0.041848
Odds ratio (effect size)..: 0.832
Lower 95% CI..............: 0.766
Upper 95% CI..............: 0.903
T-value...................: -4.402188
P-value...................: 1.315371e-05
R^2.......................: 0.095625
Adjusted r^2..............: 0.064376
Sample size of AE DB......: 2388
Sample size of model......: 510
Missing data %............: 78.64322
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Med.Statin.LLD + Med.all.antiplatelet, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age Gendermale Med.Statin.LLDyes
0.30680 -0.09313 -0.00927 0.32989 -0.22147
Med.all.antiplateletyes
0.32424
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.08723 -0.66290 -0.00982 0.64415 2.61016
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.081798 0.865574 1.250 0.21197
currentDF[, TRAIT] -0.098755 0.054234 -1.821 0.06924 .
Age -0.012056 0.005761 -2.093 0.03690 *
Gendermale 0.311368 0.100077 3.111 0.00197 **
Hypertension.compositeyes -0.171260 0.135231 -1.266 0.20597
DiabetesStatusDiabetes -0.094615 0.112880 -0.838 0.40234
SmokerCurrentyes -0.067259 0.097251 -0.692 0.48951
Med.Statin.LLDyes -0.226120 0.102933 -2.197 0.02851 *
Med.all.antiplateletyes 0.297676 0.156807 1.898 0.05824 .
GFR_MDRD -0.001178 0.002544 -0.463 0.64359
BMI -0.009717 0.012040 -0.807 0.42001
CAD_history 0.136143 0.100924 1.349 0.17798
Stroke_history 0.120457 0.094866 1.270 0.20478
Peripheral.interv -0.133039 0.118703 -1.121 0.26294
stenose50-70% -0.359473 0.625133 -0.575 0.56553
stenose70-90% -0.053904 0.580427 -0.093 0.92605
stenose90-99% -0.062723 0.578764 -0.108 0.91374
stenose100% (Occlusion) -0.550773 0.732645 -0.752 0.45256
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9835 on 485 degrees of freedom
Multiple R-squared: 0.06824, Adjusted R-squared: 0.03558
F-statistic: 2.089 on 17 and 485 DF, p-value: 0.006596
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: -0.098755
Standard error............: 0.054234
Odds ratio (effect size)..: 0.906
Lower 95% CI..............: 0.815
Upper 95% CI..............: 1.008
T-value...................: -1.820907
P-value...................: 0.06923707
R^2.......................: 0.068242
Adjusted r^2..............: 0.035582
Sample size of AE DB......: 2388
Sample size of model......: 503
Missing data %............: 78.93635
Analysis of IL6_pg_ug_2015_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + CAD_history +
Stroke_history + Peripheral.interv, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] CAD_history Stroke_history Peripheral.interv
0.01886 0.09601 -0.14506 0.18452 -0.14721
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.1909 -0.6764 0.0049 0.6426 3.4119
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.598104 0.634370 0.943 0.34600
currentDF[, TRAIT] 0.093832 0.031754 2.955 0.00320 **
Age -0.003879 0.003906 -0.993 0.32090
Gendermale 0.009744 0.069831 0.140 0.88906
Hypertension.compositeyes -0.100809 0.097138 -1.038 0.29962
DiabetesStatusDiabetes -0.008597 0.076764 -0.112 0.91086
SmokerCurrentyes 0.064296 0.070471 0.912 0.36179
Med.Statin.LLDyes -0.064710 0.076835 -0.842 0.39988
Med.all.antiplateletyes 0.011430 0.104312 0.110 0.91277
GFR_MDRD -0.002656 0.001676 -1.585 0.11323
BMI -0.008334 0.008727 -0.955 0.33981
CAD_history -0.108752 0.072191 -1.506 0.13228
Stroke_history 0.188239 0.067608 2.784 0.00547 **
Peripheral.interv -0.149582 0.083267 -1.796 0.07274 .
stenose50-70% -0.037014 0.459362 -0.081 0.93579
stenose70-90% 0.226650 0.444258 0.510 0.61004
stenose90-99% 0.173795 0.444035 0.391 0.69559
stenose100% (Occlusion) 0.562595 0.564475 0.997 0.31917
stenose50-99% 0.021481 0.824910 0.026 0.97923
stenose70-99% -0.186502 0.598315 -0.312 0.75533
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.984 on 976 degrees of freedom
Multiple R-squared: 0.04085, Adjusted R-squared: 0.02218
F-statistic: 2.188 on 19 and 976 DF, p-value: 0.002371
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: 0.093832
Standard error............: 0.031754
Odds ratio (effect size)..: 1.098
Lower 95% CI..............: 1.032
Upper 95% CI..............: 1.169
T-value...................: 2.954983
P-value...................: 0.003201987
R^2.......................: 0.040848
Adjusted r^2..............: 0.022176
Sample size of AE DB......: 2388
Sample size of model......: 996
Missing data %............: 58.29146
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
CAD_history + Stroke_history + Peripheral.interv, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age CAD_history Stroke_history Peripheral.interv
0.510465 -0.157509 -0.007324 -0.123126 0.197685 -0.159919
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-2.93275 -0.66240 0.01907 0.64346 2.96767
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.786671 0.630026 1.249 0.21210
currentDF[, TRAIT] -0.162944 0.032868 -4.958 8.42e-07 ***
Age -0.008232 0.003918 -2.101 0.03587 *
Gendermale -0.033556 0.070213 -0.478 0.63282
Hypertension.compositeyes -0.086195 0.096425 -0.894 0.37159
DiabetesStatusDiabetes -0.004985 0.076199 -0.065 0.94785
SmokerCurrentyes 0.060184 0.069997 0.860 0.39011
Med.Statin.LLDyes -0.065859 0.076396 -0.862 0.38886
Med.all.antiplateletyes -0.016292 0.103511 -0.157 0.87497
GFR_MDRD -0.002233 0.001666 -1.341 0.18034
BMI -0.007551 0.008672 -0.871 0.38410
CAD_history -0.090057 0.071752 -1.255 0.20974
Stroke_history 0.197606 0.067061 2.947 0.00329 **
Peripheral.interv -0.161279 0.083037 -1.942 0.05240 .
stenose50-70% 0.023861 0.455875 0.052 0.95827
stenose70-90% 0.318075 0.440924 0.721 0.47085
stenose90-99% 0.277050 0.440793 0.629 0.52981
stenose100% (Occlusion) 0.626538 0.560171 1.118 0.26364
stenose50-99% 0.198613 0.819108 0.242 0.80846
stenose70-99% -0.083839 0.593759 -0.141 0.88774
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9761 on 972 degrees of freedom
Multiple R-squared: 0.05658, Adjusted R-squared: 0.03814
F-statistic: 3.068 on 19 and 972 DF, p-value: 1.101e-05
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: SMC_rank
Effect size...............: -0.162944
Standard error............: 0.032868
Odds ratio (effect size)..: 0.85
Lower 95% CI..............: 0.797
Upper 95% CI..............: 0.906
T-value...................: -4.957502
P-value...................: 8.422128e-07
R^2.......................: 0.056578
Adjusted r^2..............: 0.038137
Sample size of AE DB......: 2388
Sample size of model......: 992
Missing data %............: 58.45896
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + SmokerCurrent +
GFR_MDRD + CAD_history + Stroke_history + Peripheral.interv,
data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] SmokerCurrentyes GFR_MDRD CAD_history Stroke_history
0.146966 -0.066091 0.105951 -0.002514 -0.129845 0.190585
Peripheral.interv
-0.173758
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.1508 -0.6383 0.0036 0.6501 3.2094
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.665290 0.649313 1.025 0.30582
currentDF[, TRAIT] -0.068097 0.033572 -2.028 0.04281 *
Age -0.004320 0.004054 -1.066 0.28681
Gendermale 0.003466 0.072569 0.048 0.96192
Hypertension.compositeyes -0.106848 0.100976 -1.058 0.29026
DiabetesStatusDiabetes -0.050711 0.081619 -0.621 0.53454
SmokerCurrentyes 0.062220 0.073689 0.844 0.39869
Med.Statin.LLDyes -0.055150 0.079291 -0.696 0.48690
Med.all.antiplateletyes -0.017531 0.109861 -0.160 0.87325
GFR_MDRD -0.003260 0.001759 -1.853 0.06418 .
BMI -0.005782 0.009030 -0.640 0.52214
CAD_history -0.094898 0.075609 -1.255 0.20976
Stroke_history 0.207070 0.070464 2.939 0.00338 **
Peripheral.interv -0.166293 0.088420 -1.881 0.06033 .
stenose50-70% -0.128577 0.465413 -0.276 0.78241
stenose70-90% 0.179173 0.448315 0.400 0.68950
stenose90-99% 0.140252 0.447728 0.313 0.75416
stenose100% (Occlusion) 0.489070 0.569196 0.859 0.39044
stenose50-99% 0.015460 0.830783 0.019 0.98516
stenose70-99% -0.455543 0.667542 -0.682 0.49515
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9909 on 910 degrees of freedom
Multiple R-squared: 0.03919, Adjusted R-squared: 0.01913
F-statistic: 1.953 on 19 and 910 DF, p-value: 0.008611
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: -0.068097
Standard error............: 0.033572
Odds ratio (effect size)..: 0.934
Lower 95% CI..............: 0.875
Upper 95% CI..............: 0.998
T-value...................: -2.02839
P-value...................: 0.04281124
R^2.......................: 0.039187
Adjusted r^2..............: 0.019126
Sample size of AE DB......: 2388
Sample size of model......: 930
Missing data %............: 61.05528
Analysis of IL6R_pg_ug_2015_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Med.Statin.LLD + GFR_MDRD + CAD_history + Peripheral.interv +
stenose, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age Med.Statin.LLDyes GFR_MDRD
0.254402 0.138291 -0.008368 -0.371568 -0.003134
CAD_history Peripheral.interv stenose50-70% stenose70-90% stenose90-99%
-0.099103 0.233323 0.518699 0.800413 0.942022
stenose100% (Occlusion) stenose50-99% stenose70-99%
0.655301 0.565404 -0.108615
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.1926 -0.6496 -0.0011 0.6198 3.0610
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.274225 0.663148 0.414 0.67932
currentDF[, TRAIT] 0.139450 0.030997 4.499 7.65e-06 ***
Age -0.007934 0.003880 -2.045 0.04117 *
Gendermale -0.058157 0.068901 -0.844 0.39884
Hypertension.compositeyes 0.055508 0.095193 0.583 0.55996
DiabetesStatusDiabetes -0.077646 0.075649 -1.026 0.30496
SmokerCurrentyes 0.059294 0.069374 0.855 0.39293
Med.Statin.LLDyes -0.373281 0.076205 -4.898 1.13e-06 ***
Med.all.antiplateletyes 0.038778 0.103983 0.373 0.70928
GFR_MDRD -0.003053 0.001682 -1.815 0.06981 .
BMI -0.005349 0.008797 -0.608 0.54328
CAD_history -0.074440 0.070919 -1.050 0.29414
Stroke_history 0.067980 0.066451 1.023 0.30656
Peripheral.interv 0.233457 0.082462 2.831 0.00473 **
stenose50-70% 0.533224 0.503840 1.058 0.29017
stenose70-90% 0.814412 0.489795 1.663 0.09668 .
stenose90-99% 0.950282 0.489612 1.941 0.05256 .
stenose100% (Occlusion) 0.670810 0.598031 1.122 0.26227
stenose50-99% 0.538437 0.687643 0.783 0.43381
stenose70-99% -0.113878 0.629316 -0.181 0.85644
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9703 on 979 degrees of freedom
Multiple R-squared: 0.08311, Adjusted R-squared: 0.06531
F-statistic: 4.67 on 19 and 979 DF, p-value: 1.919e-10
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: 0.13945
Standard error............: 0.030997
Odds ratio (effect size)..: 1.15
Lower 95% CI..............: 1.082
Upper 95% CI..............: 1.222
T-value...................: 4.498795
P-value...................: 7.653324e-06
R^2.......................: 0.083108
Adjusted r^2..............: 0.065313
Sample size of AE DB......: 2388
Sample size of model......: 999
Missing data %............: 58.16583
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Med.Statin.LLD + GFR_MDRD + Stroke_history + Peripheral.interv +
stenose, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age Med.Statin.LLDyes GFR_MDRD
0.190698 0.062823 -0.008893 -0.373218 -0.002728
Stroke_history Peripheral.interv stenose50-70% stenose70-90% stenose90-99%
0.096206 0.210013 0.503849 0.820847 0.949222
stenose100% (Occlusion) stenose50-99% stenose70-99%
0.641657 0.513585 -0.128979
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.3384 -0.6634 0.0112 0.6148 3.0952
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.231609 0.669488 0.346 0.72945
currentDF[, TRAIT] 0.063184 0.032805 1.926 0.05439 .
Age -0.008096 0.003958 -2.046 0.04107 *
Gendermale -0.011671 0.070307 -0.166 0.86819
Hypertension.compositeyes 0.055446 0.096058 0.577 0.56393
DiabetesStatusDiabetes -0.086441 0.076316 -1.133 0.25763
SmokerCurrentyes 0.041023 0.070053 0.586 0.55828
Med.Statin.LLDyes -0.358662 0.077004 -4.658 3.64e-06 ***
Med.all.antiplateletyes 0.027783 0.104869 0.265 0.79111
GFR_MDRD -0.003029 0.001699 -1.782 0.07499 .
BMI -0.005242 0.008888 -0.590 0.55546
CAD_history -0.074743 0.071673 -1.043 0.29728
Stroke_history 0.082865 0.067031 1.236 0.21668
Peripheral.interv 0.221438 0.083614 2.648 0.00822 **
stenose50-70% 0.529972 0.508326 1.043 0.29740
stenose70-90% 0.840789 0.494103 1.702 0.08914 .
stenose90-99% 0.964938 0.494012 1.953 0.05107 .
stenose100% (Occlusion) 0.633483 0.603460 1.050 0.29409
stenose50-99% 0.515776 0.693804 0.743 0.45742
stenose70-99% -0.098253 0.634854 -0.155 0.87704
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9785 on 975 degrees of freedom
Multiple R-squared: 0.06621, Adjusted R-squared: 0.04801
F-statistic: 3.638 on 19 and 975 DF, p-value: 2.505e-07
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: SMC_rank
Effect size...............: 0.063184
Standard error............: 0.032805
Odds ratio (effect size)..: 1.065
Lower 95% CI..............: 0.999
Upper 95% CI..............: 1.136
T-value...................: 1.926004
P-value...................: 0.05439434
R^2.......................: 0.066208
Adjusted r^2..............: 0.048011
Sample size of AE DB......: 2388
Sample size of model......: 995
Missing data %............: 58.33333
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
DiabetesStatus + Med.Statin.LLD + GFR_MDRD + CAD_history +
Peripheral.interv + stenose, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Age DiabetesStatusDiabetes Med.Statin.LLDyes
0.320815 0.075290 -0.010262 -0.132040 -0.344402
GFR_MDRD CAD_history Peripheral.interv stenose50-70% stenose70-90%
-0.003693 -0.111030 0.215654 0.616697 0.932206
stenose90-99% stenose100% (Occlusion) stenose50-99% stenose70-99%
1.048426 0.702021 0.580092 0.024660
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.3853 -0.6424 -0.0008 0.5946 3.0704
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.373101 0.681739 0.547 0.58432
currentDF[, TRAIT] 0.072980 0.033447 2.182 0.02937 *
Age -0.010508 0.004055 -2.591 0.00971 **
Gendermale -0.045887 0.071954 -0.638 0.52381
Hypertension.compositeyes 0.058845 0.099784 0.590 0.55552
DiabetesStatusDiabetes -0.127065 0.080829 -1.572 0.11629
SmokerCurrentyes 0.028334 0.072970 0.388 0.69789
Med.Statin.LLDyes -0.349043 0.079153 -4.410 1.16e-05 ***
Med.all.antiplateletyes -0.007124 0.110152 -0.065 0.94844
GFR_MDRD -0.003437 0.001780 -1.931 0.05382 .
BMI -0.003941 0.009220 -0.427 0.66914
CAD_history -0.096726 0.074536 -1.298 0.19472
Stroke_history 0.080324 0.069644 1.153 0.24907
Peripheral.interv 0.214445 0.087779 2.443 0.01475 *
stenose50-70% 0.614862 0.512332 1.200 0.23040
stenose70-90% 0.932201 0.496101 1.879 0.06056 .
stenose90-99% 1.047922 0.495616 2.114 0.03475 *
stenose100% (Occlusion) 0.712439 0.605740 1.176 0.23984
stenose50-99% 0.549565 0.695939 0.790 0.42992
stenose70-99% 0.027142 0.697472 0.039 0.96897
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9817 on 912 degrees of freedom
Multiple R-squared: 0.06911, Adjusted R-squared: 0.04972
F-statistic: 3.564 on 19 and 912 DF, p-value: 4.323e-07
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: 0.07298
Standard error............: 0.033447
Odds ratio (effect size)..: 1.076
Lower 95% CI..............: 1.007
Upper 95% CI..............: 1.149
T-value...................: 2.181987
P-value...................: 0.02936508
R^2.......................: 0.069115
Adjusted r^2..............: 0.049721
Sample size of AE DB......: 2388
Sample size of model......: 932
Missing data %............: 60.97152
Analysis of MCP1_pg_ug_2015_rank.
- processing Macrophages_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Hypertension.composite +
Med.Statin.LLD + Stroke_history, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Hypertension.compositeyes Med.Statin.LLDyes Stroke_history
0.26759 -0.05375 -0.20588 -0.15187 0.10863
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.3648 -0.6660 -0.0273 0.6576 3.2393
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.2124414 0.6391679 0.332 0.7397
currentDF[, TRAIT] -0.0594184 0.0313284 -1.897 0.0582 .
Age -0.0020052 0.0038961 -0.515 0.6069
Gendermale 0.0857202 0.0691441 1.240 0.2154
Hypertension.compositeyes -0.1946501 0.0966828 -2.013 0.0443 *
DiabetesStatusDiabetes -0.0356636 0.0763648 -0.467 0.6406
SmokerCurrentyes -0.0229331 0.0699413 -0.328 0.7431
Med.Statin.LLDyes -0.1530759 0.0772298 -1.982 0.0477 *
Med.all.antiplateletyes -0.0060653 0.1048021 -0.058 0.9539
GFR_MDRD -0.0007891 0.0016718 -0.472 0.6370
BMI -0.0033761 0.0086790 -0.389 0.6974
CAD_history -0.0429034 0.0715219 -0.600 0.5487
Stroke_history 0.1049280 0.0673948 1.557 0.1198
Peripheral.interv 0.0201952 0.0827808 0.244 0.8073
stenose50-70% 0.2746486 0.4665000 0.589 0.5562
stenose70-90% 0.3718106 0.4510306 0.824 0.4099
stenose90-99% 0.2388238 0.4508856 0.530 0.5965
stenose100% (Occlusion) -0.1876128 0.5732084 -0.327 0.7435
stenose50-99% 0.5643377 0.6719949 0.840 0.4012
stenose70-99% 0.5005227 0.6075952 0.824 0.4103
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9995 on 1017 degrees of freedom
Multiple R-squared: 0.02434, Adjusted R-squared: 0.006109
F-statistic: 1.335 on 19 and 1017 DF, p-value: 0.152
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Macrophages_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: Macrophages_rank
Effect size...............: -0.059418
Standard error............: 0.031328
Odds ratio (effect size)..: 0.942
Lower 95% CI..............: 0.886
Upper 95% CI..............: 1.002
T-value...................: -1.896633
P-value...................: 0.05815957
R^2.......................: 0.024337
Adjusted r^2..............: 0.006109
Sample size of AE DB......: 2388
Sample size of model......: 1037
Missing data %............: 56.57454
- processing SMC_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Hypertension.composite +
Med.Statin.LLD + Stroke_history, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Hypertension.compositeyes Med.Statin.LLDyes Stroke_history
0.27925 -0.10750 -0.20781 -0.15930 0.09907
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.3724 -0.6767 -0.0304 0.6444 3.2770
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.290952 0.638800 0.455 0.64887
currentDF[, TRAIT] -0.107077 0.032598 -3.285 0.00106 **
Age -0.003437 0.003929 -0.875 0.38199
Gendermale 0.040662 0.069945 0.581 0.56115
Hypertension.compositeyes -0.190633 0.096558 -1.974 0.04862 *
DiabetesStatusDiabetes -0.029269 0.076250 -0.384 0.70116
SmokerCurrentyes -0.017656 0.069895 -0.253 0.80062
Med.Statin.LLDyes -0.166237 0.077217 -2.153 0.03157 *
Med.all.antiplateletyes -0.011125 0.104641 -0.106 0.91535
GFR_MDRD -0.000614 0.001672 -0.367 0.71354
BMI -0.003254 0.008677 -0.375 0.70773
CAD_history -0.036723 0.071522 -0.513 0.60775
Stroke_history 0.097831 0.067275 1.454 0.14620
Peripheral.interv 0.024988 0.083042 0.301 0.76354
stenose50-70% 0.320528 0.465811 0.688 0.49154
stenose70-90% 0.410560 0.450412 0.912 0.36224
stenose90-99% 0.287171 0.450366 0.638 0.52385
stenose100% (Occlusion) -0.118251 0.572338 -0.207 0.83636
stenose50-99% 0.632607 0.670986 0.943 0.34601
stenose70-99% 0.549146 0.606689 0.905 0.36560
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9976 on 1013 degrees of freedom
Multiple R-squared: 0.031, Adjusted R-squared: 0.01282
F-statistic: 1.705 on 19 and 1013 DF, p-value: 0.02996
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' SMC_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: SMC_rank
Effect size...............: -0.107077
Standard error............: 0.032598
Odds ratio (effect size)..: 0.898
Lower 95% CI..............: 0.843
Upper 95% CI..............: 0.958
T-value...................: -3.284785
P-value...................: 0.001055572
R^2.......................: 0.030996
Adjusted r^2..............: 0.012821
Sample size of AE DB......: 2388
Sample size of model......: 1033
Missing data %............: 56.74204
- processing VesselDensity_rank
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Hypertension.composite +
Med.Statin.LLD + Stroke_history, data = currentDF)
Coefficients:
(Intercept) currentDF[, TRAIT] Hypertension.compositeyes Med.Statin.LLDyes Stroke_history
0.2520 -0.1458 -0.1882 -0.1728 0.1253
Call:
lm(formula = currentDF[, PROTEIN] ~ currentDF[, TRAIT] + Age +
Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF)
Residuals:
Min 1Q Median 3Q Max
-3.2433 -0.6661 -0.0246 0.6386 3.3145
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.211623 0.650353 0.325 0.7450
currentDF[, TRAIT] -0.142888 0.033041 -4.325 1.69e-05 ***
Age -0.001066 0.004023 -0.265 0.7910
Gendermale 0.102130 0.071463 1.429 0.1533
Hypertension.compositeyes -0.184342 0.100225 -1.839 0.0662 .
DiabetesStatusDiabetes -0.041305 0.080612 -0.512 0.6085
SmokerCurrentyes -0.012813 0.072721 -0.176 0.8602
Med.Statin.LLDyes -0.172532 0.079341 -2.175 0.0299 *
Med.all.antiplateletyes 0.032519 0.109658 0.297 0.7669
GFR_MDRD -0.001284 0.001744 -0.736 0.4619
BMI -0.002257 0.008979 -0.251 0.8016
CAD_history -0.038172 0.074308 -0.514 0.6076
Stroke_history 0.119804 0.069831 1.716 0.0866 .
Peripheral.interv 0.002460 0.087239 0.028 0.9775
stenose50-70% 0.112862 0.469976 0.240 0.8103
stenose70-90% 0.252067 0.452625 0.557 0.5777
stenose90-99% 0.135540 0.452129 0.300 0.7644
stenose100% (Occlusion) -0.268393 0.574820 -0.467 0.6407
stenose50-99% 0.600081 0.673103 0.892 0.3729
stenose70-99% 0.162929 0.674146 0.242 0.8091
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 1.001 on 949 degrees of freedom
Multiple R-squared: 0.0426, Adjusted R-squared: 0.02343
F-statistic: 2.222 on 19 and 949 DF, p-value: 0.001956
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' VesselDensity_rank ' .
Collecting data.
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: VesselDensity_rank
Effect size...............: -0.142888
Standard error............: 0.033041
Odds ratio (effect size)..: 0.867
Lower 95% CI..............: 0.812
Upper 95% CI..............: 0.925
T-value...................: -4.324596
P-value...................: 1.689717e-05
R^2.......................: 0.0426
Adjusted r^2..............: 0.023432
Sample size of AE DB......: 2388
Sample size of model......: 969
Missing data %............: 59.42211
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
"Beta", "s.e.m.",
"OR", "low95CI", "up95CI",
"T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")
cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Multi.Protein.PlaquePhenotypes.RANK.MODEL2.xlsx"),
row.names = FALSE, col.names = TRUE, sheetName = "Con.Multi.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)
Analysis of binary plaque traits as a function of plasma/plaque MCP1 levels.
GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
PROTEIN = TRAITS.PROTEIN.RANK[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
for (trait in 1:length(TRAITS.BIN)) {
TRAIT = TRAITS.BIN[trait]
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
# print(class(currentDF[,TRAIT]))
### univariate
fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender +
Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF, family = binomial(link = "logit"))
model_step <- stepAIC(fit, direction = "both", trace = FALSE)
print(model_step)
print(summary(fit))
GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
GLM.results = rbind(GLM.results, GLM.results.TEMP)
}
}
Analysis of IL6_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
GFR_MDRD + Stroke_history, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] GFR_MDRD Stroke_history
1.13102 0.16676 -0.01009 -0.39756
Degrees of Freedom: 480 Total (i.e. Null); 477 Residual
Null Deviance: 656.9
Residual Deviance: 646.2 AIC: 654.2
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.8778 -1.2477 0.8434 1.0452 1.6363
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.142674 1.894433 -0.603 0.5464
currentDF[, PROTEIN] 0.187641 0.099762 1.881 0.0600 .
Age 0.005528 0.012359 0.447 0.6547
Gendermale -0.115162 0.218320 -0.527 0.5979
Hypertension.compositeyes 0.476111 0.285756 1.666 0.0957 .
DiabetesStatusDiabetes -0.321528 0.244112 -1.317 0.1878
SmokerCurrentyes 0.107466 0.208795 0.515 0.6068
Med.Statin.LLDyes 0.116419 0.219777 0.530 0.5963
Med.all.antiplateletyes 0.394578 0.343182 1.150 0.2502
GFR_MDRD -0.010480 0.005580 -1.878 0.0603 .
BMI -0.004079 0.026551 -0.154 0.8779
CAD_history -0.050297 0.216490 -0.232 0.8163
Stroke_history -0.449958 0.205657 -2.188 0.0287 *
Peripheral.interv -0.283628 0.243087 -1.167 0.2433
stenose50-70% 1.612811 1.359371 1.186 0.2354
stenose70-90% 1.574761 1.264171 1.246 0.2129
stenose90-99% 1.246104 1.258956 0.990 0.3223
stenose100% (Occlusion) 1.636060 1.495055 1.094 0.2738
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 656.88 on 480 degrees of freedom
Residual deviance: 635.08 on 463 degrees of freedom
AIC: 671.08
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: 0.187641
Standard error............: 0.099762
Odds ratio (effect size)..: 1.206
Lower 95% CI..............: 0.992
Upper 95% CI..............: 1.467
Z-value...................: 1.880896
P-value...................: 0.05998602
Hosmer and Lemeshow r^2...: 0.033177
Cox and Snell r^2.........: 0.044296
Nagelkerke's pseudo r^2...: 0.059475
Sample size of AE DB......: 2388
Sample size of model......: 481
Missing data %............: 79.85762
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ SmokerCurrent +
Peripheral.interv + stenose, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) SmokerCurrentyes Peripheral.interv stenose50-70% stenose70-90%
16.6172 0.5118 -0.5187 -0.1656 -15.0805
stenose90-99% stenose100% (Occlusion)
-15.4792 -14.7976
Degrees of Freedom: 479 Total (i.e. Null); 473 Residual
Null Deviance: 474.8
Residual Deviance: 455.6 AIC: 469.6
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1410 0.4147 0.5880 0.7112 1.1491
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.833e+01 2.202e+03 0.008 0.9934
currentDF[, PROTEIN] -1.131e-01 1.218e-01 -0.928 0.3532
Age -5.156e-03 1.583e-02 -0.326 0.7447
Gendermale -1.905e-01 2.800e-01 -0.680 0.4962
Hypertension.compositeyes 3.476e-01 3.454e-01 1.006 0.3142
DiabetesStatusDiabetes 1.851e-01 3.131e-01 0.591 0.5545
SmokerCurrentyes 5.231e-01 2.725e-01 1.920 0.0549 .
Med.Statin.LLDyes -1.921e-02 2.739e-01 -0.070 0.9441
Med.all.antiplateletyes 5.197e-01 3.990e-01 1.303 0.1927
GFR_MDRD -4.836e-03 7.078e-03 -0.683 0.4945
BMI -2.662e-02 3.364e-02 -0.791 0.4287
CAD_history 9.202e-02 2.697e-01 0.341 0.7330
Stroke_history 1.321e-01 2.634e-01 0.502 0.6159
Peripheral.interv -5.602e-01 2.846e-01 -1.969 0.0490 *
stenose50-70% -1.090e-01 2.395e+03 0.000 1.0000
stenose70-90% -1.607e+01 2.202e+03 -0.007 0.9942
stenose90-99% -1.653e+01 2.202e+03 -0.008 0.9940
stenose100% (Occlusion) -1.556e+01 2.202e+03 -0.007 0.9944
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 474.79 on 479 degrees of freedom
Residual deviance: 449.41 on 462 degrees of freedom
AIC: 485.41
Number of Fisher Scoring iterations: 16
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: -0.113087
Standard error............: 0.121798
Odds ratio (effect size)..: 0.893
Lower 95% CI..............: 0.703
Upper 95% CI..............: 1.134
Z-value...................: -0.928484
P-value...................: 0.3531568
Hosmer and Lemeshow r^2...: 0.053459
Cox and Snell r^2.........: 0.051505
Nagelkerke's pseudo r^2...: 0.082
Sample size of AE DB......: 2388
Sample size of model......: 480
Missing data %............: 79.8995
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + Hypertension.composite +
DiabetesStatus + Stroke_history, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Gendermale Hypertension.compositeyes DiabetesStatusDiabetes Stroke_history
0.2536 0.7695 0.6023 -0.5270 0.7668
Degrees of Freedom: 480 Total (i.e. Null); 476 Residual
Null Deviance: 483.6
Residual Deviance: 459.4 AIC: 469.4
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.4561 0.3832 0.5522 0.7048 1.3298
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 13.557573 833.530464 0.016 0.987023
currentDF[, PROTEIN] 0.105467 0.121292 0.870 0.384555
Age -0.008356 0.015529 -0.538 0.590504
Gendermale 0.854341 0.255518 3.344 0.000827 ***
Hypertension.compositeyes 0.653898 0.331496 1.973 0.048545 *
DiabetesStatusDiabetes -0.535682 0.288011 -1.860 0.062894 .
SmokerCurrentyes 0.235127 0.266099 0.884 0.376909
Med.Statin.LLDyes -0.270417 0.289334 -0.935 0.349985
Med.all.antiplateletyes 0.332141 0.405082 0.820 0.412253
GFR_MDRD -0.004346 0.007159 -0.607 0.543790
BMI 0.025693 0.033034 0.778 0.436702
CAD_history -0.100692 0.271063 -0.371 0.710285
Stroke_history 0.725302 0.285075 2.544 0.010951 *
Peripheral.interv -0.253404 0.288452 -0.878 0.379674
stenose50-70% -14.083308 833.528719 -0.017 0.986520
stenose70-90% -13.205044 833.528557 -0.016 0.987360
stenose90-99% -13.322823 833.528546 -0.016 0.987247
stenose100% (Occlusion) -12.920301 833.529308 -0.016 0.987633
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 483.60 on 480 degrees of freedom
Residual deviance: 450.33 on 463 degrees of freedom
AIC: 486.33
Number of Fisher Scoring iterations: 14
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.105467
Standard error............: 0.121292
Odds ratio (effect size)..: 1.111
Lower 95% CI..............: 0.876
Upper 95% CI..............: 1.409
Z-value...................: 0.869535
P-value...................: 0.3845546
Hosmer and Lemeshow r^2...: 0.068787
Cox and Snell r^2.........: 0.066821
Nagelkerke's pseudo r^2...: 0.105379
Sample size of AE DB......: 2388
Sample size of model......: 481
Missing data %............: 79.85762
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender +
DiabetesStatus + BMI + Peripheral.interv, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Age Gendermale DiabetesStatusDiabetes BMI
-2.71906 0.03306 0.64772 -0.58799 0.04663
Peripheral.interv
0.47594
Degrees of Freedom: 480 Total (i.e. Null); 475 Residual
Null Deviance: 538.2
Residual Deviance: 514.6 AIC: 526.6
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1197 0.3817 0.6180 0.7868 1.3147
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.724347 2.077712 -1.793 0.07305 .
currentDF[, PROTEIN] 0.031883 0.112786 0.283 0.77742
Age 0.029801 0.014081 2.116 0.03431 *
Gendermale 0.677626 0.239517 2.829 0.00467 **
Hypertension.compositeyes 0.362423 0.313321 1.157 0.24739
DiabetesStatusDiabetes -0.638623 0.268045 -2.383 0.01719 *
SmokerCurrentyes 0.133395 0.241854 0.552 0.58125
Med.Statin.LLDyes 0.051499 0.255894 0.201 0.84050
Med.all.antiplateletyes -0.278418 0.430917 -0.646 0.51821
GFR_MDRD -0.004065 0.006460 -0.629 0.52923
BMI 0.046769 0.030726 1.522 0.12797
CAD_history 0.176307 0.258493 0.682 0.49520
Stroke_history 0.049418 0.239972 0.206 0.83685
Peripheral.interv 0.442713 0.300800 1.472 0.14108
stenose50-70% 1.305170 1.391394 0.938 0.34823
stenose70-90% 1.209027 1.271245 0.951 0.34158
stenose90-99% 1.359738 1.267498 1.073 0.28337
stenose100% (Occlusion) 1.878451 1.699793 1.105 0.26911
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 538.20 on 480 degrees of freedom
Residual deviance: 509.11 on 463 degrees of freedom
AIC: 545.11
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: IPH
Effect size...............: 0.031883
Standard error............: 0.112786
Odds ratio (effect size)..: 1.032
Lower 95% CI..............: 0.828
Upper 95% CI..............: 1.288
Z-value...................: 0.282686
P-value...................: 0.7774176
Hosmer and Lemeshow r^2...: 0.054057
Cox and Snell r^2.........: 0.058693
Nagelkerke's pseudo r^2...: 0.087163
Sample size of AE DB......: 2388
Sample size of model......: 481
Missing data %............: 79.85762
Analysis of MCP1_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
DiabetesStatus + GFR_MDRD + Stroke_history, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] DiabetesStatusDiabetes GFR_MDRD Stroke_history
1.192770 -0.151103 -0.450022 -0.009032 -0.335659
Degrees of Freedom: 513 Total (i.e. Null); 509 Residual
Null Deviance: 698.1
Residual Deviance: 685.4 AIC: 695.4
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.6902 -1.2563 0.8474 1.0134 1.4941
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.341239 1.847433 -0.726 0.4678
currentDF[, PROTEIN] -0.143925 0.094902 -1.517 0.1294
Age 0.008539 0.012074 0.707 0.4794
Gendermale -0.133609 0.211820 -0.631 0.5282
Hypertension.compositeyes 0.421229 0.275933 1.527 0.1269
DiabetesStatusDiabetes -0.491397 0.233262 -2.107 0.0351 *
SmokerCurrentyes 0.190422 0.202282 0.941 0.3465
Med.Statin.LLDyes -0.065611 0.216144 -0.304 0.7615
Med.all.antiplateletyes 0.294148 0.328102 0.897 0.3700
GFR_MDRD -0.008637 0.005278 -1.636 0.1018
BMI 0.006020 0.025217 0.239 0.8113
CAD_history -0.019955 0.210077 -0.095 0.9243
Stroke_history -0.382267 0.196922 -1.941 0.0522 .
Peripheral.interv -0.296732 0.245678 -1.208 0.2271
stenose50-70% 1.345003 1.366009 0.985 0.3248
stenose70-90% 1.474735 1.278492 1.153 0.2487
stenose90-99% 1.183503 1.274224 0.929 0.3530
stenose100% (Occlusion) 1.433390 1.603296 0.894 0.3713
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 698.10 on 513 degrees of freedom
Residual deviance: 676.62 on 496 degrees of freedom
AIC: 712.62
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: -0.143925
Standard error............: 0.094902
Odds ratio (effect size)..: 0.866
Lower 95% CI..............: 0.719
Upper 95% CI..............: 1.043
Z-value...................: -1.516566
P-value...................: 0.1293764
Hosmer and Lemeshow r^2...: 0.030769
Cox and Snell r^2.........: 0.040928
Nagelkerke's pseudo r^2...: 0.055094
Sample size of AE DB......: 2388
Sample size of model......: 514
Missing data %............: 78.47571
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
SmokerCurrent + Med.all.antiplatelet + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] SmokerCurrentyes Med.all.antiplateletyes Peripheral.interv
15.0605 -0.6325 0.5715 0.8102 -0.5723
stenose50-70% stenose70-90% stenose90-99% stenose100% (Occlusion)
-13.0595 -14.0415 -14.5745 -14.0760
Degrees of Freedom: 511 Total (i.e. Null); 503 Residual
Null Deviance: 505.7
Residual Deviance: 459.5 AIC: 477.5
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.5465 0.3165 0.5104 0.6799 1.4542
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 15.999553 778.354658 0.021 0.9836
currentDF[, PROTEIN] -0.622928 0.128740 -4.839 1.31e-06 ***
Age -0.005270 0.015877 -0.332 0.7399
Gendermale -0.109271 0.281106 -0.389 0.6975
Hypertension.compositeyes 0.232635 0.346594 0.671 0.5021
DiabetesStatusDiabetes 0.322371 0.320516 1.006 0.3145
SmokerCurrentyes 0.569775 0.272057 2.094 0.0362 *
Med.Statin.LLDyes 0.069345 0.268917 0.258 0.7965
Med.all.antiplateletyes 0.802899 0.388040 2.069 0.0385 *
GFR_MDRD -0.002382 0.006955 -0.343 0.7320
BMI -0.025431 0.033840 -0.752 0.4523
CAD_history 0.128771 0.267709 0.481 0.6305
Stroke_history 0.133460 0.258321 0.517 0.6054
Peripheral.interv -0.629923 0.299489 -2.103 0.0354 *
stenose50-70% -13.094548 778.353270 -0.017 0.9866
stenose70-90% -14.077384 778.352577 -0.018 0.9856
stenose90-99% -14.620319 778.352564 -0.019 0.9850
stenose100% (Occlusion) -14.008097 778.353486 -0.018 0.9856
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 505.69 on 511 degrees of freedom
Residual deviance: 456.43 on 494 degrees of freedom
AIC: 492.43
Number of Fisher Scoring iterations: 14
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: -0.622928
Standard error............: 0.12874
Odds ratio (effect size)..: 0.536
Lower 95% CI..............: 0.417
Upper 95% CI..............: 0.69
Z-value...................: -4.83865
P-value...................: 1.307237e-06
Hosmer and Lemeshow r^2...: 0.097413
Cox and Snell r^2.........: 0.091729
Nagelkerke's pseudo r^2...: 0.146168
Sample size of AE DB......: 2388
Sample size of model......: 512
Missing data %............: 78.55946
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Gender + Hypertension.composite + Stroke_history, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Gendermale Hypertension.compositeyes Stroke_history
0.4409 0.6533 0.5583 0.6017 0.6751
Degrees of Freedom: 513 Total (i.e. Null); 509 Residual
Null Deviance: 506.6
Residual Deviance: 459.5 AIC: 469.5
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.5740 0.2922 0.4930 0.6720 1.5683
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 12.661734 817.641489 0.015 0.9876
currentDF[, PROTEIN] 0.656649 0.132397 4.960 7.06e-07 ***
Age 0.001732 0.015546 0.111 0.9113
Gendermale 0.612693 0.256582 2.388 0.0169 *
Hypertension.compositeyes 0.685985 0.341187 2.011 0.0444 *
DiabetesStatusDiabetes -0.262261 0.294365 -0.891 0.3730
SmokerCurrentyes 0.363236 0.268874 1.351 0.1767
Med.Statin.LLDyes -0.147175 0.293177 -0.502 0.6157
Med.all.antiplateletyes 0.038168 0.411206 0.093 0.9260
GFR_MDRD -0.001070 0.007032 -0.152 0.8790
BMI 0.041989 0.032506 1.292 0.1965
CAD_history -0.184485 0.275017 -0.671 0.5023
Stroke_history 0.635540 0.279528 2.274 0.0230 *
Peripheral.interv -0.174872 0.301205 -0.581 0.5615
stenose50-70% -14.255551 817.639783 -0.017 0.9861
stenose70-90% -13.148729 817.639613 -0.016 0.9872
stenose90-99% -13.458669 817.639598 -0.016 0.9869
stenose100% (Occlusion) -13.167887 817.640433 -0.016 0.9872
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 506.55 on 513 degrees of freedom
Residual deviance: 448.02 on 496 degrees of freedom
AIC: 484.02
Number of Fisher Scoring iterations: 14
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.656649
Standard error............: 0.132397
Odds ratio (effect size)..: 1.928
Lower 95% CI..............: 1.488
Upper 95% CI..............: 2.5
Z-value...................: 4.959683
P-value...................: 7.060839e-07
Hosmer and Lemeshow r^2...: 0.115562
Cox and Snell r^2.........: 0.107642
Nagelkerke's pseudo r^2...: 0.171745
Sample size of AE DB......: 2388
Sample size of model......: 514
Missing data %............: 78.47571
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender +
DiabetesStatus + BMI + Peripheral.interv, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Age Gendermale DiabetesStatusDiabetes BMI
-2.41015 0.02549 0.72976 -0.55880 0.05326
Peripheral.interv
0.46653
Degrees of Freedom: 513 Total (i.e. Null); 508 Residual
Null Deviance: 568
Residual Deviance: 544 AIC: 556
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1812 0.4279 0.6129 0.7610 1.5453
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -3.337489 2.007482 -1.663 0.09641 .
currentDF[, PROTEIN] 0.114993 0.110404 1.042 0.29761
Age 0.021692 0.013848 1.566 0.11724
Gendermale 0.699221 0.231008 3.027 0.00247 **
Hypertension.compositeyes 0.332762 0.307165 1.083 0.27866
DiabetesStatusDiabetes -0.570391 0.259801 -2.195 0.02813 *
SmokerCurrentyes 0.111871 0.236363 0.473 0.63600
Med.Statin.LLDyes -0.055247 0.255070 -0.217 0.82852
Med.all.antiplateletyes -0.189324 0.397135 -0.477 0.63356
GFR_MDRD -0.003295 0.006174 -0.534 0.59352
BMI 0.051262 0.029169 1.757 0.07884 .
CAD_history 0.218815 0.255681 0.856 0.39210
Stroke_history 0.130905 0.232489 0.563 0.57339
Peripheral.interv 0.448115 0.306829 1.460 0.14416
stenose50-70% 1.269161 1.380367 0.919 0.35787
stenose70-90% 1.185950 1.267384 0.936 0.34940
stenose90-99% 1.355527 1.264520 1.072 0.28373
stenose100% (Occlusion) 1.465751 1.720671 0.852 0.39430
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 567.98 on 513 degrees of freedom
Residual deviance: 538.07 on 496 degrees of freedom
AIC: 574.07
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: IPH
Effect size...............: 0.114993
Standard error............: 0.110404
Odds ratio (effect size)..: 1.122
Lower 95% CI..............: 0.904
Upper 95% CI..............: 1.393
Z-value...................: 1.041567
P-value...................: 0.2976126
Hosmer and Lemeshow r^2...: 0.052662
Cox and Snell r^2.........: 0.056532
Nagelkerke's pseudo r^2...: 0.084528
Sample size of AE DB......: 2388
Sample size of model......: 514
Missing data %............: 78.47571
Analysis of IL6_pg_ug_2015_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + SmokerCurrent + CAD_history + stenose, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age SmokerCurrentyes CAD_history
-1.21906 -0.10139 0.01999 0.39841 0.25581
stenose50-70% stenose70-90% stenose90-99% stenose100% (Occlusion) stenose50-99%
-1.00567 -0.50697 -0.26246 0.80569 -13.93538
stenose70-99%
-1.53003
Degrees of Freedom: 996 Total (i.e. Null); 986 Residual
Null Deviance: 1381
Residual Deviance: 1349 AIC: 1371
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.6147 -1.1333 -0.7964 1.1564 1.6722
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.909944 1.321284 -0.689 0.49102
currentDF[, PROTEIN] -0.099976 0.066163 -1.511 0.13077
Age 0.017028 0.008100 2.102 0.03552 *
Gendermale -0.132850 0.144146 -0.922 0.35672
Hypertension.compositeyes 0.232383 0.202519 1.147 0.25119
DiabetesStatusDiabetes -0.175024 0.159524 -1.097 0.27257
SmokerCurrentyes 0.413549 0.146703 2.819 0.00482 **
Med.Statin.LLDyes -0.164639 0.159153 -1.034 0.30092
Med.all.antiplateletyes -0.223519 0.217193 -1.029 0.30342
GFR_MDRD -0.001873 0.003492 -0.536 0.59169
BMI 0.012482 0.018095 0.690 0.49034
CAD_history 0.264314 0.149945 1.763 0.07795 .
Stroke_history -0.138429 0.140758 -0.983 0.32538
Peripheral.interv -0.183619 0.172919 -1.062 0.28829
stenose50-70% -0.939975 0.962505 -0.977 0.32877
stenose70-90% -0.485844 0.928836 -0.523 0.60093
stenose90-99% -0.236697 0.928355 -0.255 0.79875
stenose100% (Occlusion) 0.801826 1.244197 0.644 0.51928
stenose50-99% -14.007873 368.424975 -0.038 0.96967
stenose70-99% -1.453878 1.253623 -1.160 0.24615
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1381.3 on 996 degrees of freedom
Residual deviance: 1340.3 on 977 degrees of freedom
AIC: 1380.3
Number of Fisher Scoring iterations: 12
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: -0.099976
Standard error............: 0.066163
Odds ratio (effect size)..: 0.905
Lower 95% CI..............: 0.795
Upper 95% CI..............: 1.03
Z-value...................: -1.511065
P-value...................: 0.1307718
Hosmer and Lemeshow r^2...: 0.029706
Cox and Snell r^2.........: 0.04032
Nagelkerke's pseudo r^2...: 0.053776
Sample size of AE DB......: 2388
Sample size of model......: 997
Missing data %............: 58.24958
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Hypertension.composite + SmokerCurrent + BMI + Stroke_history,
family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Hypertension.compositeyes SmokerCurrentyes BMI
-0.01981 -0.29027 0.34009 0.44475 0.03349
Stroke_history
0.25226
Degrees of Freedom: 999 Total (i.e. Null); 994 Residual
Null Deviance: 1017
Residual Deviance: 993 AIC: 1005
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.2838 0.4520 0.6083 0.7205 1.0945
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.292e+01 6.481e+02 0.020 0.984089
currentDF[, PROTEIN] -2.788e-01 8.257e-02 -3.376 0.000735 ***
Age 8.333e-03 9.876e-03 0.844 0.398752
Gendermale -8.397e-02 1.781e-01 -0.471 0.637300
Hypertension.compositeyes 3.107e-01 2.330e-01 1.334 0.182365
DiabetesStatusDiabetes 2.105e-01 2.039e-01 1.033 0.301764
SmokerCurrentyes 4.917e-01 1.863e-01 2.639 0.008305 **
Med.Statin.LLDyes -1.661e-02 1.955e-01 -0.085 0.932280
Med.all.antiplateletyes 1.316e-01 2.617e-01 0.503 0.615014
GFR_MDRD 4.714e-03 4.302e-03 1.096 0.273176
BMI 3.356e-02 2.363e-02 1.420 0.155532
CAD_history 2.203e-01 1.882e-01 1.171 0.241679
Stroke_history 2.405e-01 1.765e-01 1.363 0.172966
Peripheral.interv -1.820e-02 2.155e-01 -0.084 0.932671
stenose50-70% -1.361e+01 6.481e+02 -0.021 0.983249
stenose70-90% -1.401e+01 6.481e+02 -0.022 0.982747
stenose90-99% -1.406e+01 6.481e+02 -0.022 0.982690
stenose100% (Occlusion) 4.945e-01 8.183e+02 0.001 0.999518
stenose50-99% 1.313e-02 1.208e+03 0.000 0.999991
stenose70-99% -1.373e+01 6.481e+02 -0.021 0.983103
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1017.22 on 999 degrees of freedom
Residual deviance: 980.18 on 980 degrees of freedom
AIC: 1020.2
Number of Fisher Scoring iterations: 14
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: -0.278762
Standard error............: 0.08257
Odds ratio (effect size)..: 0.757
Lower 95% CI..............: 0.644
Upper 95% CI..............: 0.89
Z-value...................: -3.376059
P-value...................: 0.0007353204
Hosmer and Lemeshow r^2...: 0.036411
Cox and Snell r^2.........: 0.036361
Nagelkerke's pseudo r^2...: 0.056956
Sample size of AE DB......: 2388
Sample size of model......: 1000
Missing data %............: 58.12395
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Gender + Stroke_history + Peripheral.interv, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Gendermale Stroke_history Peripheral.interv
0.5014 0.4505 0.8327 0.3722 -0.6087
Degrees of Freedom: 999 Total (i.e. Null); 995 Residual
Null Deviance: 1165
Residual Deviance: 1079 AIC: 1089
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.2290 -1.0455 0.6047 0.8064 2.0491
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.317e+01 3.905e+02 0.034 0.973093
currentDF[, PROTEIN] 4.532e-01 7.890e-02 5.744 9.26e-09 ***
Age 9.621e-03 9.328e-03 1.031 0.302330
Gendermale 8.512e-01 1.611e-01 5.282 1.27e-07 ***
Hypertension.compositeyes 6.829e-02 2.349e-01 0.291 0.771250
DiabetesStatusDiabetes -1.155e-01 1.839e-01 -0.628 0.529991
SmokerCurrentyes 1.014e-01 1.710e-01 0.593 0.553366
Med.Statin.LLDyes -1.768e-01 1.904e-01 -0.928 0.353200
Med.all.antiplateletyes 6.371e-02 2.501e-01 0.255 0.798916
GFR_MDRD -2.636e-04 4.098e-03 -0.064 0.948718
BMI 3.776e-03 2.044e-02 0.185 0.853460
CAD_history 7.889e-02 1.751e-01 0.451 0.652297
Stroke_history 3.768e-01 1.703e-01 2.213 0.026912 *
Peripheral.interv -6.136e-01 1.860e-01 -3.299 0.000972 ***
stenose50-70% -1.353e+01 3.905e+02 -0.035 0.972366
stenose70-90% -1.348e+01 3.905e+02 -0.035 0.972456
stenose90-99% -1.333e+01 3.905e+02 -0.034 0.972772
stenose100% (Occlusion) -1.427e+01 3.905e+02 -0.037 0.970836
stenose50-99% -1.498e+01 3.905e+02 -0.038 0.969387
stenose70-99% -1.461e+01 3.905e+02 -0.037 0.970150
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1164.5 on 999 degrees of freedom
Residual deviance: 1067.6 on 980 degrees of freedom
AIC: 1107.6
Number of Fisher Scoring iterations: 13
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.453209
Standard error............: 0.078905
Odds ratio (effect size)..: 1.573
Lower 95% CI..............: 1.348
Upper 95% CI..............: 1.837
Z-value...................: 5.743761
P-value...................: 9.259659e-09
Hosmer and Lemeshow r^2...: 0.083261
Cox and Snell r^2.........: 0.092407
Nagelkerke's pseudo r^2...: 0.134327
Sample size of AE DB......: 2388
Sample size of model......: 1000
Missing data %............: 58.12395
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Gender + Med.Statin.LLD +
BMI + CAD_history + Stroke_history + stenose, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Gendermale Med.Statin.LLDyes BMI CAD_history
0.16028 0.59271 -0.25963 0.02923 0.30318
Stroke_history stenose50-70% stenose70-90% stenose90-99% stenose100% (Occlusion)
0.25028 -1.09743 -0.97086 -0.65159 -0.80087
stenose50-99% stenose70-99%
-15.27559 0.59126
Degrees of Freedom: 998 Total (i.e. Null); 987 Residual
Null Deviance: 1331
Residual Deviance: 1288 AIC: 1312
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.9367 -1.2695 0.8101 0.9793 1.4492
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.134237 1.491544 0.090 0.9283
currentDF[, PROTEIN] 0.054522 0.068254 0.799 0.4244
Age 0.001619 0.008307 0.195 0.8455
Gendermale 0.638876 0.146508 4.361 1.3e-05 ***
Hypertension.compositeyes -0.108080 0.207201 -0.522 0.6019
DiabetesStatusDiabetes -0.123290 0.163538 -0.754 0.4509
SmokerCurrentyes 0.124934 0.151554 0.824 0.4097
Med.Statin.LLDyes -0.249499 0.167274 -1.492 0.1358
Med.all.antiplateletyes 0.161931 0.221057 0.733 0.4638
GFR_MDRD -0.004974 0.003614 -1.376 0.1687
BMI 0.033028 0.018696 1.767 0.0773 .
CAD_history 0.310960 0.157200 1.978 0.0479 *
Stroke_history 0.230621 0.146500 1.574 0.1154
Peripheral.interv 0.037076 0.178283 0.208 0.8353
stenose50-70% -1.011322 1.165248 -0.868 0.3854
stenose70-90% -0.904406 1.139736 -0.794 0.4275
stenose90-99% -0.590355 1.139754 -0.518 0.6045
stenose100% (Occlusion) -0.735447 1.357428 -0.542 0.5880
stenose50-99% -15.239630 376.951258 -0.040 0.9678
stenose70-99% 0.597045 1.580966 0.378 0.7057
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1331.0 on 998 degrees of freedom
Residual deviance: 1283.4 on 979 degrees of freedom
AIC: 1323.4
Number of Fisher Scoring iterations: 12
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: IPH
Effect size...............: 0.054522
Standard error............: 0.068254
Odds ratio (effect size)..: 1.056
Lower 95% CI..............: 0.924
Upper 95% CI..............: 1.207
Z-value...................: 0.798812
P-value...................: 0.4243993
Hosmer and Lemeshow r^2...: 0.03579
Cox and Snell r^2.........: 0.046565
Nagelkerke's pseudo r^2...: 0.063256
Sample size of AE DB......: 2388
Sample size of model......: 999
Missing data %............: 58.16583
Analysis of IL6R_pg_ug_2015_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Hypertension.composite +
DiabetesStatus + SmokerCurrent + CAD_history + stenose, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Age Hypertension.compositeyes DiabetesStatusDiabetes SmokerCurrentyes
-0.47387 0.01628 0.29007 -0.24352 0.33077
CAD_history stenose50-70% stenose70-90% stenose90-99% stenose100% (Occlusion)
0.22888 -1.57353 -1.17165 -0.93734 0.08563
stenose50-99% stenose70-99%
-15.69452 -2.08325
Degrees of Freedom: 1000 Total (i.e. Null); 989 Residual
Null Deviance: 1387
Residual Deviance: 1354 AIC: 1378
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.5705 -1.1316 -0.8359 1.1617 1.7412
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.212109 1.495726 0.142 0.8872
currentDF[, PROTEIN] -0.002449 0.066213 -0.037 0.9705
Age 0.013336 0.008150 1.636 0.1018
Gendermale -0.162994 0.143965 -1.132 0.2576
Hypertension.compositeyes 0.294333 0.200281 1.470 0.1417
DiabetesStatusDiabetes -0.249693 0.159825 -1.562 0.1182
SmokerCurrentyes 0.336013 0.145847 2.304 0.0212 *
Med.Statin.LLDyes -0.108235 0.161265 -0.671 0.5021
Med.all.antiplateletyes -0.255972 0.219348 -1.167 0.2432
GFR_MDRD -0.002395 0.003551 -0.674 0.5000
BMI 0.004821 0.018465 0.261 0.7940
CAD_history 0.251978 0.149114 1.690 0.0911 .
Stroke_history -0.166730 0.139636 -1.194 0.2325
Peripheral.interv -0.196876 0.172959 -1.138 0.2550
stenose50-70% -1.465448 1.195541 -1.226 0.2203
stenose70-90% -1.113704 1.168398 -0.953 0.3405
stenose90-99% -0.867558 1.168634 -0.742 0.4579
stenose100% (Occlusion) 0.118872 1.429842 0.083 0.9337
stenose50-99% -15.589875 435.856093 -0.036 0.9715
stenose70-99% -1.997577 1.438041 -1.389 0.1648
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1386.7 on 1000 degrees of freedom
Residual deviance: 1347.6 on 981 degrees of freedom
AIC: 1387.6
Number of Fisher Scoring iterations: 13
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: -0.002449
Standard error............: 0.066213
Odds ratio (effect size)..: 0.998
Lower 95% CI..............: 0.876
Upper 95% CI..............: 1.136
Z-value...................: -0.036981
P-value...................: 0.9704999
Hosmer and Lemeshow r^2...: 0.028198
Cox and Snell r^2.........: 0.03831
Nagelkerke's pseudo r^2...: 0.051096
Sample size of AE DB......: 2388
Sample size of model......: 1001
Missing data %............: 58.08208
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ SmokerCurrent +
CAD_history, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) SmokerCurrentyes CAD_history
1.1251 0.4158 0.3017
Degrees of Freedom: 1003 Total (i.e. Null); 1001 Residual
Null Deviance: 1022
Residual Deviance: 1014 AIC: 1020
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1265 0.4975 0.6343 0.7205 0.9708
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.282e+01 7.188e+02 0.018 0.98577
currentDF[, PROTEIN] 8.155e-03 8.142e-02 0.100 0.92022
Age 1.014e-02 9.909e-03 1.023 0.30614
Gendermale 4.618e-02 1.747e-01 0.264 0.79159
Hypertension.compositeyes 2.825e-01 2.303e-01 1.227 0.21991
DiabetesStatusDiabetes 2.034e-01 2.026e-01 1.004 0.31533
SmokerCurrentyes 4.830e-01 1.850e-01 2.610 0.00905 **
Med.Statin.LLDyes 3.976e-02 1.953e-01 0.204 0.83865
Med.all.antiplateletyes 2.293e-01 2.583e-01 0.888 0.37472
GFR_MDRD 4.130e-03 4.355e-03 0.948 0.34288
BMI 2.798e-02 2.331e-02 1.200 0.23000
CAD_history 2.663e-01 1.871e-01 1.423 0.15476
Stroke_history 2.061e-01 1.740e-01 1.184 0.23622
Peripheral.interv 7.680e-02 2.159e-01 0.356 0.72202
stenose50-70% -1.365e+01 7.188e+02 -0.019 0.98485
stenose70-90% -1.411e+01 7.188e+02 -0.020 0.98434
stenose90-99% -1.411e+01 7.188e+02 -0.020 0.98434
stenose100% (Occlusion) 3.208e-01 8.796e+02 0.000 0.99971
stenose50-99% -1.451e-01 1.020e+03 0.000 0.99989
stenose70-99% -1.370e+01 7.188e+02 -0.019 0.98479
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1021.76 on 1003 degrees of freedom
Residual deviance: 996.48 on 984 degrees of freedom
AIC: 1036.5
Number of Fisher Scoring iterations: 14
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: 0.008155
Standard error............: 0.081415
Odds ratio (effect size)..: 1.008
Lower 95% CI..............: 0.859
Upper 95% CI..............: 1.183
Z-value...................: 0.100161
P-value...................: 0.9202161
Hosmer and Lemeshow r^2...: 0.024745
Cox and Snell r^2.........: 0.024868
Nagelkerke's pseudo r^2...: 0.038943
Sample size of AE DB......: 2388
Sample size of model......: 1004
Missing data %............: 57.95645
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Gender + Stroke_history + Peripheral.interv, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Gendermale Stroke_history Peripheral.interv
0.4550 0.1229 0.7952 0.4442 -0.6211
Degrees of Freedom: 1003 Total (i.e. Null); 999 Residual
Null Deviance: 1171
Residual Deviance: 1122 AIC: 1132
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0862 -1.1264 0.6590 0.7969 1.8542
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.332e+01 4.411e+02 0.030 0.97591
currentDF[, PROTEIN] 9.800e-02 7.527e-02 1.302 0.19292
Age 1.132e-02 9.265e-03 1.222 0.22178
Gendermale 8.405e-01 1.583e-01 5.308 1.11e-07 ***
Hypertension.compositeyes -1.069e-03 2.299e-01 -0.005 0.99629
DiabetesStatusDiabetes -1.151e-01 1.801e-01 -0.639 0.52259
SmokerCurrentyes 1.497e-01 1.676e-01 0.894 0.37152
Med.Statin.LLDyes -1.464e-01 1.904e-01 -0.769 0.44205
Med.all.antiplateletyes 4.523e-02 2.493e-01 0.181 0.85603
GFR_MDRD 5.281e-06 4.114e-03 0.001 0.99898
BMI -5.235e-03 2.075e-02 -0.252 0.80084
CAD_history -6.362e-02 1.695e-01 -0.375 0.70743
Stroke_history 4.412e-01 1.660e-01 2.658 0.00787 **
Peripheral.interv -5.960e-01 1.843e-01 -3.234 0.00122 **
stenose50-70% -1.358e+01 4.411e+02 -0.031 0.97545
stenose70-90% -1.349e+01 4.411e+02 -0.031 0.97560
stenose90-99% -1.338e+01 4.411e+02 -0.030 0.97581
stenose100% (Occlusion) -1.416e+01 4.411e+02 -0.032 0.97440
stenose50-99% -1.586e+01 4.411e+02 -0.036 0.97132
stenose70-99% -1.470e+01 4.411e+02 -0.033 0.97341
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1171.0 on 1003 degrees of freedom
Residual deviance: 1106.8 on 984 degrees of freedom
AIC: 1146.8
Number of Fisher Scoring iterations: 13
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.097997
Standard error............: 0.075268
Odds ratio (effect size)..: 1.103
Lower 95% CI..............: 0.952
Upper 95% CI..............: 1.278
Z-value...................: 1.301985
P-value...................: 0.1929215
Hosmer and Lemeshow r^2...: 0.054819
Cox and Snell r^2.........: 0.061938
Nagelkerke's pseudo r^2...: 0.08996
Sample size of AE DB......: 2388
Sample size of model......: 1004
Missing data %............: 57.95645
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Gender + GFR_MDRD + CAD_history, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Gendermale GFR_MDRD CAD_history
0.347137 0.149195 0.581414 -0.004984 0.228735
Degrees of Freedom: 1001 Total (i.e. Null); 997 Residual
Null Deviance: 1338
Residual Deviance: 1311 AIC: 1321
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.9319 -1.2821 0.8263 0.9878 1.4773
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.693593 1.522867 0.455 0.6488
currentDF[, PROTEIN] 0.136420 0.068451 1.993 0.0463 *
Age -0.001134 0.008382 -0.135 0.8924
Gendermale 0.611644 0.146076 4.187 2.82e-05 ***
Hypertension.compositeyes -0.110197 0.204287 -0.539 0.5896
DiabetesStatusDiabetes -0.154479 0.162386 -0.951 0.3414
SmokerCurrentyes 0.113081 0.150460 0.752 0.4523
Med.Statin.LLDyes -0.148415 0.167690 -0.885 0.3761
Med.all.antiplateletyes 0.060511 0.223809 0.270 0.7869
GFR_MDRD -0.005323 0.003674 -1.449 0.1474
BMI 0.017774 0.018965 0.937 0.3486
CAD_history 0.289601 0.155217 1.866 0.0621 .
Stroke_history 0.153900 0.144197 1.067 0.2858
Peripheral.interv 0.004085 0.178235 0.023 0.9817
stenose50-70% -0.739569 1.207855 -0.612 0.5403
stenose70-90% -0.772461 1.182418 -0.653 0.5136
stenose90-99% -0.519486 1.182942 -0.439 0.6606
stenose100% (Occlusion) -0.605786 1.393142 -0.435 0.6637
stenose50-99% -1.096639 1.556511 -0.705 0.4811
stenose70-99% 0.852030 1.607425 0.530 0.5961
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1337.7 on 1001 degrees of freedom
Residual deviance: 1299.2 on 982 degrees of freedom
AIC: 1339.2
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: IPH
Effect size...............: 0.13642
Standard error............: 0.068451
Odds ratio (effect size)..: 1.146
Lower 95% CI..............: 1.002
Upper 95% CI..............: 1.311
Z-value...................: 1.992945
P-value...................: 0.04626743
Hosmer and Lemeshow r^2...: 0.028723
Cox and Snell r^2.........: 0.037619
Nagelkerke's pseudo r^2...: 0.051055
Sample size of AE DB......: 2388
Sample size of model......: 1002
Missing data %............: 58.0402
Analysis of MCP1_pg_ug_2015_rank.
- processing CalcificationPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + SmokerCurrent + CAD_history + stenose, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age SmokerCurrentyes CAD_history
-1.37299 -0.47406 0.02058 0.40394 0.24014
stenose50-70% stenose70-90% stenose90-99% stenose100% (Occlusion) stenose50-99%
-0.88314 -0.37300 -0.18504 0.71187 -14.80113
stenose70-99%
-1.21694
Degrees of Freedom: 1038 Total (i.e. Null); 1028 Residual
Null Deviance: 1439
Residual Deviance: 1354 AIC: 1376
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.8920 -1.0857 -0.6854 1.1100 2.0741
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.111475 1.329496 -0.836 0.40315
currentDF[, PROTEIN] -0.474349 0.068483 -6.927 4.31e-12 ***
Age 0.017814 0.008172 2.180 0.02927 *
Gendermale -0.141964 0.144258 -0.984 0.32507
Hypertension.compositeyes 0.223348 0.202733 1.102 0.27060
DiabetesStatusDiabetes -0.239143 0.160905 -1.486 0.13722
SmokerCurrentyes 0.415158 0.147167 2.821 0.00479 **
Med.Statin.LLDyes -0.180621 0.161314 -1.120 0.26285
Med.all.antiplateletyes -0.196875 0.219018 -0.899 0.36871
GFR_MDRD -0.001495 0.003520 -0.425 0.67110
BMI 0.012799 0.018157 0.705 0.48087
CAD_history 0.263913 0.150066 1.759 0.07864 .
Stroke_history -0.113515 0.140974 -0.805 0.42069
Peripheral.interv -0.192409 0.172486 -1.116 0.26463
stenose50-70% -0.816931 0.965795 -0.846 0.39763
stenose70-90% -0.342436 0.930578 -0.368 0.71289
stenose90-99% -0.154316 0.930195 -0.166 0.86824
stenose100% (Occlusion) 0.718982 1.255767 0.573 0.56695
stenose50-99% -14.791163 417.958374 -0.035 0.97177
stenose70-99% -1.145147 1.267273 -0.904 0.36619
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1439.2 on 1038 degrees of freedom
Residual deviance: 1345.5 on 1019 degrees of freedom
AIC: 1385.5
Number of Fisher Scoring iterations: 13
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CalcificationPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: CalcificationPlaque
Effect size...............: -0.474349
Standard error............: 0.068483
Odds ratio (effect size)..: 0.622
Lower 95% CI..............: 0.544
Upper 95% CI..............: 0.712
Z-value...................: -6.926517
P-value...................: 4.313271e-12
Hosmer and Lemeshow r^2...: 0.065099
Cox and Snell r^2.........: 0.086227
Nagelkerke's pseudo r^2...: 0.115013
Sample size of AE DB......: 2388
Sample size of model......: 1039
Missing data %............: 56.49079
- processing CollagenPlaque
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
SmokerCurrent + BMI, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] SmokerCurrentyes BMI
0.20733 -0.23235 0.44405 0.03906
Degrees of Freedom: 1041 Total (i.e. Null); 1038 Residual
Null Deviance: 1055
Residual Deviance: 1037 AIC: 1045
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.2648 0.4510 0.6178 0.7190 1.0442
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.346e+01 1.061e+03 0.013 0.98988
currentDF[, PROTEIN] -2.260e-01 7.941e-02 -2.846 0.00443 **
Age 1.026e-02 9.723e-03 1.055 0.29133
Gendermale 2.043e-02 1.727e-01 0.118 0.90585
Hypertension.compositeyes 2.367e-01 2.301e-01 1.029 0.30368
DiabetesStatusDiabetes 1.304e-01 1.981e-01 0.658 0.51029
SmokerCurrentyes 5.189e-01 1.836e-01 2.826 0.00472 **
Med.Statin.LLDyes 1.422e-02 1.924e-01 0.074 0.94111
Med.all.antiplateletyes 1.565e-01 2.563e-01 0.611 0.54149
GFR_MDRD 5.598e-03 4.241e-03 1.320 0.18688
BMI 4.070e-02 2.308e-02 1.763 0.07787 .
CAD_history 2.143e-01 1.838e-01 1.166 0.24353
Stroke_history 2.224e-01 1.727e-01 1.288 0.19786
Peripheral.interv 1.098e-01 2.127e-01 0.516 0.60574
stenose50-70% -1.453e+01 1.061e+03 -0.014 0.98907
stenose70-90% -1.499e+01 1.061e+03 -0.014 0.98873
stenose90-99% -1.505e+01 1.061e+03 -0.014 0.98869
stenose100% (Occlusion) 2.439e-01 1.351e+03 0.000 0.99986
stenose50-99% -1.824e-02 1.589e+03 0.000 0.99999
stenose70-99% -1.449e+01 1.061e+03 -0.014 0.98911
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1055.5 on 1041 degrees of freedom
Residual deviance: 1019.7 on 1022 degrees of freedom
AIC: 1059.7
Number of Fisher Scoring iterations: 15
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' CollagenPlaque ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: CollagenPlaque
Effect size...............: -0.225966
Standard error............: 0.079411
Odds ratio (effect size)..: 0.798
Lower 95% CI..............: 0.683
Upper 95% CI..............: 0.932
Z-value...................: -2.845529
P-value...................: 0.00443377
Hosmer and Lemeshow r^2...: 0.033878
Cox and Snell r^2.........: 0.033733
Nagelkerke's pseudo r^2...: 0.052969
Sample size of AE DB......: 2388
Sample size of model......: 1042
Missing data %............: 56.36516
- processing Fat10Perc
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Gender + Stroke_history + Peripheral.interv + stenose, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Gendermale Stroke_history Peripheral.interv
13.9001 0.1685 0.8324 0.4438 -0.6179
stenose50-70% stenose70-90% stenose90-99% stenose100% (Occlusion) stenose50-99%
-13.6499 -13.5208 -13.3630 -14.0674 -15.9302
stenose70-99%
-14.7641
Degrees of Freedom: 1041 Total (i.e. Null); 1031 Residual
Null Deviance: 1225
Residual Deviance: 1154 AIC: 1176
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.1038 -1.1336 0.6504 0.8116 1.7658
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.325e+01 3.926e+02 0.034 0.973076
currentDF[, PROTEIN] 1.633e-01 7.323e-02 2.230 0.025771 *
Age 7.988e-03 8.972e-03 0.890 0.373294
Gendermale 8.706e-01 1.541e-01 5.650 1.6e-08 ***
Hypertension.compositeyes 4.406e-02 2.265e-01 0.194 0.845801
DiabetesStatusDiabetes -1.615e-01 1.756e-01 -0.920 0.357650
SmokerCurrentyes 1.448e-01 1.637e-01 0.885 0.376349
Med.Statin.LLDyes -1.876e-01 1.861e-01 -1.008 0.313562
Med.all.antiplateletyes 7.910e-02 2.423e-01 0.327 0.744039
GFR_MDRD -6.075e-04 3.926e-03 -0.155 0.877040
BMI 3.774e-03 1.972e-02 0.191 0.848251
CAD_history -3.938e-02 1.660e-01 -0.237 0.812467
Stroke_history 4.320e-01 1.633e-01 2.645 0.008160 **
Peripheral.interv -5.908e-01 1.790e-01 -3.300 0.000965 ***
stenose50-70% -1.358e+01 3.926e+02 -0.035 0.972398
stenose70-90% -1.345e+01 3.926e+02 -0.034 0.972660
stenose90-99% -1.331e+01 3.926e+02 -0.034 0.972956
stenose100% (Occlusion) -1.405e+01 3.926e+02 -0.036 0.971459
stenose50-99% -1.591e+01 3.926e+02 -0.041 0.967674
stenose70-99% -1.478e+01 3.926e+02 -0.038 0.969972
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1224.7 on 1041 degrees of freedom
Residual deviance: 1150.4 on 1022 degrees of freedom
AIC: 1190.4
Number of Fisher Scoring iterations: 13
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' Fat10Perc ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: Fat10Perc
Effect size...............: 0.163285
Standard error............: 0.073234
Odds ratio (effect size)..: 1.177
Lower 95% CI..............: 1.02
Upper 95% CI..............: 1.359
Z-value...................: 2.22964
P-value...................: 0.02577136
Hosmer and Lemeshow r^2...: 0.060666
Cox and Snell r^2.........: 0.068819
Nagelkerke's pseudo r^2...: 0.099553
Sample size of AE DB......: 2388
Sample size of model......: 1042
Missing data %............: 56.36516
- processing IPH
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Gender + Med.Statin.LLD + BMI + CAD_history + Stroke_history,
family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Gendermale Med.Statin.LLDyes BMI CAD_history
-0.57216 -0.13871 0.54948 -0.27048 0.02716 0.26512
Stroke_history
0.24072
Degrees of Freedom: 1039 Total (i.e. Null); 1033 Residual
Null Deviance: 1389
Residual Deviance: 1357 AIC: 1371
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.9631 -1.2808 0.8129 0.9902 1.5437
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.2859982 1.4840343 0.193 0.8472
currentDF[, PROTEIN] -0.1379693 0.0658565 -2.095 0.0362 *
Age 0.0001424 0.0081461 0.017 0.9860
Gendermale 0.6169887 0.1429940 4.315 1.6e-05 ***
Hypertension.compositeyes -0.1347125 0.2023482 -0.666 0.5056
DiabetesStatusDiabetes -0.1318405 0.1596422 -0.826 0.4089
SmokerCurrentyes 0.1353045 0.1476443 0.916 0.3594
Med.Statin.LLDyes -0.2582250 0.1645153 -1.570 0.1165
Med.all.antiplateletyes 0.1499145 0.2180924 0.687 0.4918
GFR_MDRD -0.0048941 0.0035333 -1.385 0.1660
BMI 0.0318061 0.0183315 1.735 0.0827 .
CAD_history 0.2693138 0.1520944 1.771 0.0766 .
Stroke_history 0.2396462 0.1427314 1.679 0.0932 .
Peripheral.interv 0.0531500 0.1737461 0.306 0.7597
stenose50-70% -0.9815249 1.1707234 -0.838 0.4018
stenose70-90% -0.8530624 1.1451377 -0.745 0.4563
stenose90-99% -0.5996543 1.1451261 -0.524 0.6005
stenose100% (Occlusion) -0.7495926 1.3619788 -0.550 0.5821
stenose50-99% -1.2353440 1.5277375 -0.809 0.4187
stenose70-99% 0.6521140 1.5833657 0.412 0.6804
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1388.6 on 1039 degrees of freedom
Residual deviance: 1344.4 on 1020 degrees of freedom
AIC: 1384.4
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' IPH ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: IPH
Effect size...............: -0.137969
Standard error............: 0.065856
Odds ratio (effect size)..: 0.871
Lower 95% CI..............: 0.766
Upper 95% CI..............: 0.991
Z-value...................: -2.095
P-value...................: 0.03617101
Hosmer and Lemeshow r^2...: 0.031873
Cox and Snell r^2.........: 0.041665
Nagelkerke's pseudo r^2...: 0.056541
Sample size of AE DB......: 2388
Sample size of model......: 1040
Missing data %............: 56.44891
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
"Beta", "s.e.m.",
"OR", "low95CI", "up95CI",
"Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")
cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Multi.Protein.PlaquePhenotypes.RANK.MODEL2.xlsx"),
row.names = FALSE, col.names = TRUE, sheetName = "Bin.Multi.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)
We will perform a cross-sectional analysis between plaque and plasma MCP1, IL6, and IL6R levels and the ‘clinical status’ of the plaque in terms of presence of patients’ symptoms (symptomatic vs. asymptomatic). The symptoms of interest are:
In this model we correct for Age, Gender, and year of surgery.
GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
PROTEIN = TRAITS.PROTEIN.RANK[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
TRAIT = "AsymptSympt"
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
# print(class(currentDF[,TRAIT]))
### univariate
# + Hypertension.composite + DiabetesStatus + SmokerCurrent +
# Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
# CAD_history + Stroke_history + Peripheral.interv + stenose
fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender,
data = currentDF, family = binomial(link = "logit"))
model_step <- stepAIC(fit, direction = "both", trace = FALSE)
print(model_step)
print(summary(fit))
GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
GLM.results = rbind(GLM.results, GLM.results.TEMP)
}
Analysis of IL6_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Age
0.03354 0.02322
Degrees of Freedom: 527 Total (i.e. Null); 526 Residual
Null Deviance: 482.2
Residual Deviance: 479 AIC: 483
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.0886 0.5322 0.5876 0.6383 0.8258
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.07050 0.88346 0.080 0.9364
currentDF[, PROTEIN] -0.04480 0.12075 -0.371 0.7106
Age 0.02320 0.01296 1.789 0.0735 .
Gendermale -0.04751 0.25974 -0.183 0.8549
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 482.18 on 527 degrees of freedom
Residual deviance: 478.81 on 524 degrees of freedom
AIC: 486.81
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: AsymptSympt
Effect size...............: -0.044803
Standard error............: 0.120747
Odds ratio (effect size)..: 0.956
Lower 95% CI..............: 0.755
Upper 95% CI..............: 1.212
Z-value...................: -0.37105
P-value...................: 0.7106006
Hosmer and Lemeshow r^2...: 0.006985
Cox and Snell r^2.........: 0.006359
Nagelkerke's pseudo r^2...: 0.010619
Sample size of AE DB......: 2388
Sample size of model......: 528
Missing data %............: 77.88945
Analysis of MCP1_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age
0.28675 0.37178 0.02121
Degrees of Freedom: 564 Total (i.e. Null); 562 Residual
Null Deviance: 495.5
Residual Deviance: 483.5 AIC: 489.5
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.3596 0.4499 0.5370 0.6291 0.9789
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.44218 0.89858 0.492 0.62265
currentDF[, PROTEIN] 0.38662 0.12065 3.205 0.00135 **
Age 0.02149 0.01316 1.633 0.10250
Gendermale -0.23867 0.26432 -0.903 0.36656
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 495.50 on 564 degrees of freedom
Residual deviance: 482.64 on 561 degrees of freedom
AIC: 490.64
Number of Fisher Scoring iterations: 4
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: AsymptSympt
Effect size...............: 0.386619
Standard error............: 0.120648
Odds ratio (effect size)..: 1.472
Lower 95% CI..............: 1.162
Upper 95% CI..............: 1.865
Z-value...................: 3.204514
P-value...................: 0.001352907
Hosmer and Lemeshow r^2...: 0.02596
Cox and Snell r^2.........: 0.022509
Nagelkerke's pseudo r^2...: 0.038546
Sample size of AE DB......: 2388
Sample size of model......: 565
Missing data %............: 76.34003
Analysis of IL6_pg_ug_2015_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age Gendermale
0.34611 0.15893 0.03016 -0.37900
Degrees of Freedom: 1149 Total (i.e. Null); 1146 Residual
Null Deviance: 790.7
Residual Deviance: 777 AIC: 785
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.4207 0.3921 0.4517 0.5173 0.7538
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.34611 0.70495 0.491 0.62345
currentDF[, PROTEIN] 0.15893 0.09515 1.670 0.09485 .
Age 0.03016 0.01029 2.930 0.00339 **
Gendermale -0.37900 0.22151 -1.711 0.08709 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 790.69 on 1149 degrees of freedom
Residual deviance: 776.96 on 1146 degrees of freedom
AIC: 784.96
Number of Fisher Scoring iterations: 5
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: AsymptSympt
Effect size...............: 0.158935
Standard error............: 0.095151
Odds ratio (effect size)..: 1.172
Lower 95% CI..............: 0.973
Upper 95% CI..............: 1.413
Z-value...................: 1.670352
P-value...................: 0.09484966
Hosmer and Lemeshow r^2...: 0.017371
Cox and Snell r^2.........: 0.011873
Nagelkerke's pseudo r^2...: 0.023879
Sample size of AE DB......: 2388
Sample size of model......: 1150
Missing data %............: 51.84255
Analysis of IL6R_pg_ug_2015_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) Age Gendermale
0.10526 0.03331 -0.38379
Degrees of Freedom: 1151 Total (i.e. Null); 1149 Residual
Null Deviance: 803.7
Residual Deviance: 790.2 AIC: 796.2
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.3792 0.3949 0.4577 0.5226 0.8703
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.14037 0.70096 0.200 0.84129
currentDF[, PROTEIN] -0.11502 0.09484 -1.213 0.22520
Age 0.03295 0.01023 3.222 0.00127 **
Gendermale -0.39123 0.22092 -1.771 0.07658 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 803.71 on 1151 degrees of freedom
Residual deviance: 788.73 on 1148 degrees of freedom
AIC: 796.73
Number of Fisher Scoring iterations: 5
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: AsymptSympt
Effect size...............: -0.115023
Standard error............: 0.094838
Odds ratio (effect size)..: 0.891
Lower 95% CI..............: 0.74
Upper 95% CI..............: 1.073
Z-value...................: -1.212829
P-value...................: 0.2251951
Hosmer and Lemeshow r^2...: 0.018632
Cox and Snell r^2.........: 0.012915
Nagelkerke's pseudo r^2...: 0.025714
Sample size of AE DB......: 2388
Sample size of model......: 1152
Missing data %............: 51.75879
Analysis of MCP1_pg_ug_2015_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age Gendermale
0.24802 0.26381 0.03239 -0.43504
Degrees of Freedom: 1195 Total (i.e. Null); 1192 Residual
Null Deviance: 826.5
Residual Deviance: 804.7 AIC: 812.7
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.5655 0.3738 0.4440 0.5167 0.8433
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.24802 0.69361 0.358 0.72066
currentDF[, PROTEIN] 0.26381 0.09370 2.816 0.00487 **
Age 0.03239 0.01011 3.203 0.00136 **
Gendermale -0.43504 0.21791 -1.996 0.04589 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 826.52 on 1195 degrees of freedom
Residual deviance: 804.68 on 1192 degrees of freedom
AIC: 812.68
Number of Fisher Scoring iterations: 5
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: AsymptSympt
Effect size...............: 0.263812
Standard error............: 0.093697
Odds ratio (effect size)..: 1.302
Lower 95% CI..............: 1.083
Upper 95% CI..............: 1.564
Z-value...................: 2.815595
P-value...................: 0.004868694
Hosmer and Lemeshow r^2...: 0.026421
Cox and Snell r^2.........: 0.018093
Nagelkerke's pseudo r^2...: 0.036261
Sample size of AE DB......: 2388
Sample size of model......: 1196
Missing data %............: 49.91625
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
"Beta", "s.e.m.",
"OR", "low95CI", "up95CI",
"Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")
cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Uni.Protein.RANK.Symptoms.MODEL1.xlsx"),
row.names = FALSE, col.names = TRUE, sheetName = "Bin.Uni.Symptoms")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)
In this model we correct for Age, Gender, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis..
GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
PROTEIN = TRAITS.PROTEIN.RANK[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
TRAIT = "AsymptSympt"
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
# print(class(currentDF[,TRAIT]))
### univariate
fit <- glm(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
CAD_history + Stroke_history + Peripheral.interv + stenose,
data = currentDF, family = binomial(link = "logit"))
model_step <- stepAIC(fit, direction = "both", trace = FALSE)
print(model_step)
print(summary(fit))
GLM.results.TEMP <- data.frame(matrix(NA, ncol = 16, nrow = 0))
GLM.results.TEMP[1,] = GLM.BIN(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
GLM.results = rbind(GLM.results, GLM.results.TEMP)
}
Analysis of IL6_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Stroke_history +
Peripheral.interv, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) Stroke_history Peripheral.interv
1.4460 1.5481 -0.9696
Degrees of Freedom: 480 Total (i.e. Null); 478 Residual
Null Deviance: 448.7
Residual Deviance: 411 AIC: 417
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.8207 0.2472 0.4518 0.6797 1.2683
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.547e+01 1.350e+03 0.011 0.990858
currentDF[, PROTEIN] -1.637e-01 1.341e-01 -1.221 0.222219
Age 2.709e-02 1.676e-02 1.616 0.106099
Gendermale -1.779e-01 2.976e-01 -0.598 0.549922
Hypertension.compositeyes -5.697e-01 4.359e-01 -1.307 0.191211
DiabetesStatusDiabetes 3.403e-01 3.345e-01 1.017 0.308976
SmokerCurrentyes 1.065e-01 2.813e-01 0.379 0.704984
Med.Statin.LLDyes -1.716e-01 3.130e-01 -0.548 0.583524
Med.all.antiplateletyes -6.819e-01 5.289e-01 -1.289 0.197347
GFR_MDRD 1.046e-02 7.628e-03 1.371 0.170375
BMI -8.104e-03 3.455e-02 -0.235 0.814531
CAD_history -8.513e-02 2.809e-01 -0.303 0.761814
Stroke_history 1.578e+00 3.808e-01 4.143 3.42e-05 ***
Peripheral.interv -9.874e-01 2.864e-01 -3.448 0.000564 ***
stenose50-70% -1.393e+01 1.350e+03 -0.010 0.991766
stenose70-90% -1.532e+01 1.350e+03 -0.011 0.990946
stenose90-99% -1.486e+01 1.350e+03 -0.011 0.991218
stenose100% (Occlusion) -1.371e-01 1.610e+03 0.000 0.999932
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 448.65 on 480 degrees of freedom
Residual deviance: 393.24 on 463 degrees of freedom
AIC: 429.24
Number of Fisher Scoring iterations: 15
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_rank
Trait/outcome.............: AsymptSympt
Effect size...............: -0.163678
Standard error............: 0.134091
Odds ratio (effect size)..: 0.849
Lower 95% CI..............: 0.653
Upper 95% CI..............: 1.104
Z-value...................: -1.220648
P-value...................: 0.2222193
Hosmer and Lemeshow r^2...: 0.123507
Cox and Snell r^2.........: 0.108813
Nagelkerke's pseudo r^2...: 0.179402
Sample size of AE DB......: 2388
Sample size of model......: 481
Missing data %............: 79.85762
Analysis of MCP1_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Med.all.antiplatelet + Stroke_history + Peripheral.interv,
family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Med.all.antiplateletyes Stroke_history Peripheral.interv
2.1710 0.3020 -0.7129 1.6297 -0.9739
Degrees of Freedom: 513 Total (i.e. Null); 509 Residual
Null Deviance: 457.8
Residual Deviance: 409 AIC: 419
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.8828 0.2333 0.4237 0.6299 1.2824
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.496e+01 1.305e+03 0.011 0.990854
currentDF[, PROTEIN] 3.464e-01 1.367e-01 2.534 0.011287 *
Age 2.580e-02 1.666e-02 1.549 0.121368
Gendermale -2.685e-01 2.997e-01 -0.896 0.370282
Hypertension.compositeyes -5.009e-01 4.399e-01 -1.139 0.254855
DiabetesStatusDiabetes 2.651e-01 3.307e-01 0.802 0.422680
SmokerCurrentyes 7.686e-02 2.804e-01 0.274 0.783994
Med.Statin.LLDyes -4.258e-02 3.194e-01 -0.133 0.893950
Med.all.antiplateletyes -8.355e-01 5.289e-01 -1.580 0.114152
GFR_MDRD 8.463e-03 7.526e-03 1.125 0.260766
BMI 1.930e-02 3.529e-02 0.547 0.584325
CAD_history -2.171e-01 2.814e-01 -0.771 0.440413
Stroke_history 1.598e+00 3.795e-01 4.210 2.55e-05 ***
Peripheral.interv -9.893e-01 2.939e-01 -3.367 0.000761 ***
stenose50-70% -1.353e+01 1.305e+03 -0.010 0.991724
stenose70-90% -1.511e+01 1.305e+03 -0.012 0.990760
stenose90-99% -1.466e+01 1.305e+03 -0.011 0.991034
stenose100% (Occlusion) -1.429e-01 1.629e+03 0.000 0.999930
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 457.77 on 513 degrees of freedom
Residual deviance: 395.26 on 496 degrees of freedom
AIC: 431.26
Number of Fisher Scoring iterations: 15
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_rank
Trait/outcome.............: AsymptSympt
Effect size...............: 0.346429
Standard error............: 0.136729
Odds ratio (effect size)..: 1.414
Lower 95% CI..............: 1.082
Upper 95% CI..............: 1.849
Z-value...................: 2.533683
P-value...................: 0.01128706
Hosmer and Lemeshow r^2...: 0.136557
Cox and Snell r^2.........: 0.114514
Nagelkerke's pseudo r^2...: 0.194226
Sample size of AE DB......: 2388
Sample size of model......: 514
Missing data %............: 78.47571
Analysis of IL6_pg_ug_2015_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ Age + Gender +
Med.all.antiplatelet + GFR_MDRD + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) Age Gendermale Med.all.antiplateletyes GFR_MDRD
15.387606 0.027762 -0.453161 -0.916880 0.008104
Stroke_history Peripheral.interv stenose50-70% stenose70-90% stenose90-99%
1.166727 -0.673292 -13.748714 -14.870639 -14.701591
stenose100% (Occlusion) stenose50-99% stenose70-99%
-0.331218 -16.941956 -0.167408
Degrees of Freedom: 1008 Total (i.e. Null); 996 Residual
Null Deviance: 707.6
Residual Deviance: 652.1 AIC: 678.1
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.8197 0.2654 0.4021 0.5591 0.9812
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.553e+01 1.027e+03 0.015 0.987936
currentDF[, PROTEIN] 6.163e-02 1.053e-01 0.585 0.558336
Age 3.155e-02 1.295e-02 2.436 0.014857 *
Gendermale -4.004e-01 2.443e-01 -1.639 0.101287
Hypertension.compositeyes -2.983e-01 3.648e-01 -0.818 0.413500
DiabetesStatusDiabetes -8.036e-03 2.508e-01 -0.032 0.974442
SmokerCurrentyes 1.551e-01 2.332e-01 0.665 0.505947
Med.Statin.LLDyes -1.778e-01 2.733e-01 -0.651 0.515164
Med.all.antiplateletyes -9.050e-01 4.485e-01 -2.018 0.043614 *
GFR_MDRD 7.277e-03 5.677e-03 1.282 0.199907
BMI 9.863e-04 2.892e-02 0.034 0.972798
CAD_history -1.788e-01 2.262e-01 -0.790 0.429472
Stroke_history 1.108e+00 2.862e-01 3.870 0.000109 ***
Peripheral.interv -6.265e-01 2.400e-01 -2.611 0.009031 **
stenose50-70% -1.368e+01 1.027e+03 -0.013 0.989371
stenose70-90% -1.486e+01 1.027e+03 -0.014 0.988453
stenose90-99% -1.469e+01 1.027e+03 -0.014 0.988582
stenose100% (Occlusion) -4.303e-01 1.306e+03 0.000 0.999737
stenose50-99% -1.691e+01 1.027e+03 -0.016 0.986859
stenose70-99% -1.372e-01 1.233e+03 0.000 0.999911
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 707.63 on 1008 degrees of freedom
Residual deviance: 648.64 on 989 degrees of freedom
AIC: 688.64
Number of Fisher Scoring iterations: 15
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6_pg_ug_2015_rank
Trait/outcome.............: AsymptSympt
Effect size...............: 0.061634
Standard error............: 0.1053
Odds ratio (effect size)..: 1.064
Lower 95% CI..............: 0.865
Upper 95% CI..............: 1.307
Z-value...................: 0.585315
P-value...................: 0.5583357
Hosmer and Lemeshow r^2...: 0.083364
Cox and Snell r^2.........: 0.056789
Nagelkerke's pseudo r^2...: 0.11266
Sample size of AE DB......: 2388
Sample size of model......: 1009
Missing data %............: 57.74707
Analysis of IL6R_pg_ug_2015_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Med.all.antiplatelet + CAD_history + Stroke_history +
Peripheral.interv, family = binomial(link = "logit"), data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age Gendermale Med.all.antiplateletyes
1.16545 -0.16682 0.02796 -0.35834 -0.82910
CAD_history Stroke_history Peripheral.interv
-0.35351 1.02217 -0.47073
Degrees of Freedom: 1012 Total (i.e. Null); 1005 Residual
Null Deviance: 720.9
Residual Deviance: 677.2 AIC: 693.2
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.8361 0.2711 0.4157 0.5602 1.0121
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.566e+01 1.140e+03 0.014 0.989035
currentDF[, PROTEIN] -1.527e-01 1.016e-01 -1.503 0.132769
Age 3.521e-02 1.291e-02 2.728 0.006368 **
Gendermale -4.077e-01 2.427e-01 -1.680 0.092969 .
Hypertension.compositeyes -2.212e-01 3.506e-01 -0.631 0.528045
DiabetesStatusDiabetes -9.310e-03 2.471e-01 -0.038 0.969943
SmokerCurrentyes 2.704e-01 2.313e-01 1.169 0.242377
Med.Statin.LLDyes -1.877e-01 2.725e-01 -0.689 0.491028
Med.all.antiplateletyes -8.710e-01 4.486e-01 -1.942 0.052179 .
GFR_MDRD 5.154e-03 5.688e-03 0.906 0.364834
BMI -1.404e-02 2.963e-02 -0.474 0.635537
CAD_history -2.680e-01 2.228e-01 -1.203 0.228970
Stroke_history 1.017e+00 2.712e-01 3.751 0.000176 ***
Peripheral.interv -5.189e-01 2.410e-01 -2.153 0.031324 *
stenose50-70% -1.365e+01 1.140e+03 -0.012 0.990444
stenose70-90% -1.482e+01 1.140e+03 -0.013 0.989628
stenose90-99% -1.464e+01 1.140e+03 -0.013 0.989752
stenose100% (Occlusion) -3.777e-01 1.396e+03 0.000 0.999784
stenose50-99% -1.595e+01 1.140e+03 -0.014 0.988836
stenose70-99% -2.526e-01 1.330e+03 0.000 0.999848
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 720.94 on 1012 degrees of freedom
Residual deviance: 662.33 on 993 degrees of freedom
AIC: 702.33
Number of Fisher Scoring iterations: 15
Analyzing in dataset ' AEDB.CEA ' the association of ' IL6R_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: IL6R_pg_ug_2015_rank
Trait/outcome.............: AsymptSympt
Effect size...............: -0.152701
Standard error............: 0.101579
Odds ratio (effect size)..: 0.858
Lower 95% CI..............: 0.703
Upper 95% CI..............: 1.047
Z-value...................: -1.503271
P-value...................: 0.1327691
Hosmer and Lemeshow r^2...: 0.081298
Cox and Snell r^2.........: 0.056217
Nagelkerke's pseudo r^2...: 0.110406
Sample size of AE DB......: 2388
Sample size of model......: 1013
Missing data %............: 57.57956
Analysis of MCP1_pg_ug_2015_rank.
- processing AsymptSympt
Call: glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Med.all.antiplatelet + GFR_MDRD + Stroke_history +
Peripheral.interv + stenose, family = binomial(link = "logit"),
data = currentDF)
Coefficients:
(Intercept) currentDF[, PROTEIN] Age Gendermale Med.all.antiplateletyes
15.272239 0.246808 0.031733 -0.519803 -0.925714
GFR_MDRD Stroke_history Peripheral.interv stenose50-70% stenose70-90%
0.008448 1.056452 -0.572007 -13.826519 -15.017030
stenose90-99% stenose100% (Occlusion) stenose50-99% stenose70-99%
-14.770785 -0.381146 -16.127189 -0.475975
Degrees of Freedom: 1050 Total (i.e. Null); 1037 Residual
Null Deviance: 742.4
Residual Deviance: 681.8 AIC: 709.8
Call:
glm(formula = as.factor(currentDF[, TRAIT]) ~ currentDF[, PROTEIN] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, family = binomial(link = "logit"), data = currentDF)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.9026 0.2665 0.4041 0.5510 1.1581
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 1.535e+01 1.022e+03 0.015 0.988014
currentDF[, PROTEIN] 2.327e-01 1.012e-01 2.299 0.021489 *
Age 3.628e-02 1.270e-02 2.857 0.004280 **
Gendermale -4.583e-01 2.387e-01 -1.920 0.054877 .
Hypertension.compositeyes -2.011e-01 3.509e-01 -0.573 0.566720
DiabetesStatusDiabetes 5.331e-02 2.459e-01 0.217 0.828362
SmokerCurrentyes 2.658e-01 2.291e-01 1.160 0.245990
Med.Statin.LLDyes -1.571e-01 2.708e-01 -0.580 0.561715
Med.all.antiplateletyes -9.184e-01 4.485e-01 -2.048 0.040595 *
GFR_MDRD 7.330e-03 5.560e-03 1.318 0.187367
BMI -4.704e-03 2.790e-02 -0.169 0.866132
CAD_history -2.356e-01 2.191e-01 -1.076 0.282037
Stroke_history 1.006e+00 2.713e-01 3.707 0.000209 ***
Peripheral.interv -5.483e-01 2.366e-01 -2.317 0.020485 *
stenose50-70% -1.371e+01 1.022e+03 -0.013 0.989296
stenose70-90% -1.495e+01 1.022e+03 -0.015 0.988326
stenose90-99% -1.473e+01 1.022e+03 -0.014 0.988502
stenose100% (Occlusion) -4.325e-01 1.308e+03 0.000 0.999736
stenose50-99% -1.616e+01 1.022e+03 -0.016 0.987388
stenose70-99% -4.053e-01 1.231e+03 0.000 0.999737
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 742.44 on 1050 degrees of freedom
Residual deviance: 677.73 on 1031 degrees of freedom
AIC: 717.73
Number of Fisher Scoring iterations: 15
Analyzing in dataset ' AEDB.CEA ' the association of ' MCP1_pg_ug_2015_rank ' with ' AsymptSympt ' ...
Collecting data...
We have collected the following and summarize it in an object:
Dataset...................: AEDB.CEA
Score/Exposure/biomarker..: MCP1_pg_ug_2015_rank
Trait/outcome.............: AsymptSympt
Effect size...............: 0.232718
Standard error............: 0.101213
Odds ratio (effect size)..: 1.262
Lower 95% CI..............: 1.035
Upper 95% CI..............: 1.539
Z-value...................: 2.299283
P-value...................: 0.02148888
Hosmer and Lemeshow r^2...: 0.087159
Cox and Snell r^2.........: 0.059713
Nagelkerke's pseudo r^2...: 0.117873
Sample size of AE DB......: 2388
Sample size of model......: 1051
Missing data %............: 55.98828
cat("Edit the column names...\n")
Edit the column names...
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
"Beta", "s.e.m.",
"OR", "low95CI", "up95CI",
"Z-value", "P-value", "r^2_l", "r^2_cs", "r^2_nagelkerke", "AE_N", "Model_N", "Perc_Miss")
cat("Correct the variable types...\n")
Correct the variable types...
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`Z-value` <- as.numeric(GLM.results$`Z-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2_l` <- as.numeric(GLM.results$`r^2_l`)
GLM.results$`r^2_cs` <- as.numeric(GLM.results$`r^2_cs`)
GLM.results$`r^2_nagelkerke` <- as.numeric(GLM.results$`r^2_nagelkerke`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
# Save the data
cat("Writing results to Excel-file...\n")
Writing results to Excel-file...
### Univariate
write.xlsx(GLM.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Bin.Multi.Protein.RANK.Symptoms.MODEL2.xlsx"),
row.names = FALSE, col.names = TRUE, sheetName = "Bin.Multi.Symptoms")
# Removing intermediates
cat("Removing intermediate files...\n")
Removing intermediate files...
rm(TRAIT, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)
For the longitudinal analyses of plaque and plasma MCP1, IL6, and IL6R levels and secondary cardiovascular events over a three-year follow-up period.
The primary outcome is defined as “a composite of fatal or non-fatal myocardial infarction, fatal or non-fatal stroke, ruptured aortic aneurysm, fatal cardiac failure, coronary or peripheral interventions, leg amputation due to vascular causes, and cardiovascular death”, i.e. major adverse cardiovascular events (MACE). Variable: epmajor.3years, these include: - myocardial infarction (MI) - cerebral infarction (CVA/stroke) - cardiovascular death (exact cause to be investigated) - cerebral bleeding (CVA/stroke) - fatal myocardial infarction (MI) - fatal cerebral infarction - fatal cerebral bleeding - sudden death - fatal heart failure - fatal aneurysm rupture - other cardiovascular death..
The secondary outcomes will be
epstroke.3years, these include:
epcoronary.3years, these include:
epcvdeath.3years, these include:
We will use 3-year follow-up, but we will also calculate 30 days and 90 days follow-up ‘time-to-event’ variables. On average there are 365.25 days in a year. We can calculate 30-days and 90-days follow-up time based on the three years follow-up.
cutt.off.30days = (1/365.25) * 30
cutt.off.90days = (1/365.25) * 90
# Fix maximum FU of 30 and 90 days
AEDB <- AEDB %>%
mutate(
FU.cutt.off.30days = ifelse(max.followup <= cutt.off.30days, max.followup, cutt.off.30days),
FU.cutt.off.90days = ifelse(max.followup <= cutt.off.90days, max.followup, cutt.off.90days)
)
AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary",
"max.followup",
"FU.cutt.off.3years",
"FU.cutt.off.30days",
"FU.cutt.off.90days"))
require(labelled)
AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
rm(AEDB.temp)
AEDB.CEA <- AEDB.CEA %>%
mutate(
FU.cutt.off.30days = ifelse(max.followup <= cutt.off.30days, max.followup, cutt.off.30days),
FU.cutt.off.90days = ifelse(max.followup <= cutt.off.90days, max.followup, cutt.off.90days)
)
AEDB.CEA.temp <- subset(AEDB.CEA, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary",
"max.followup",
"FU.cutt.off.3years",
"FU.cutt.off.30days",
"FU.cutt.off.90days"))
require(labelled)
AEDB.CEA.temp$Gender <- to_factor(AEDB.CEA.temp$Gender)
AEDB.CEA.temp$Hospital <- to_factor(AEDB.CEA.temp$Hospital)
AEDB.CEA.temp$Artery_summary <- to_factor(AEDB.CEA.temp$Artery_summary)
DT::datatable(AEDB.CEA.temp[1:10,], caption = "Excerpt of the whole AEDB.CEA.", rownames = FALSE)
rm(AEDB.CEA.temp)
Here we will calculate the new 30- and 90-days follow-up of the events and their event-times of interest:
epmajor.3years)epstroke.3years)epcoronary.3years)epcvdeath.3years)avg_days_in_year = 365.25
cutt.off.30days.scaled <- cutt.off.30days * 365.25
cutt.off.90days.scaled <- cutt.off.90days * 365.25
# Event times
AEDB <- AEDB %>%
mutate(
ep_major_t_30days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.30days.scaled,
ep_major_t_3years * avg_days_in_year, cutt.off.30days.scaled),
ep_stroke_t_30days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.30days.scaled,
ep_stroke_t_3years * avg_days_in_year, cutt.off.30days.scaled),
ep_coronary_t_30days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.30days.scaled,
ep_coronary_t_3years * avg_days_in_year, cutt.off.30days.scaled),
ep_cvdeath_t_30days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.30days.scaled,
ep_cvdeath_t_3years * avg_days_in_year, cutt.off.30days.scaled),
ep_major_t_90days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.90days.scaled,
ep_major_t_3years * avg_days_in_year, cutt.off.90days.scaled),
ep_stroke_t_90days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.90days.scaled,
ep_stroke_t_3years * avg_days_in_year, cutt.off.90days.scaled),
ep_coronary_t_90days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.90days.scaled,
ep_coronary_t_3years * avg_days_in_year, cutt.off.90days.scaled),
ep_cvdeath_t_90days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.90days.scaled,
ep_cvdeath_t_3years * avg_days_in_year, cutt.off.90days.scaled)
)
AEDB.CEA <- AEDB.CEA %>%
mutate(
ep_major_t_30days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.30days.scaled,
ep_major_t_3years * avg_days_in_year, cutt.off.30days.scaled),
ep_stroke_t_30days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.30days.scaled,
ep_stroke_t_3years * avg_days_in_year, cutt.off.30days.scaled),
ep_coronary_t_30days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.30days.scaled,
ep_coronary_t_3years * avg_days_in_year, cutt.off.30days.scaled),
ep_cvdeath_t_30days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.30days.scaled,
ep_cvdeath_t_3years * avg_days_in_year, cutt.off.30days.scaled),
ep_major_t_90days = ifelse(ep_major_t_3years * avg_days_in_year <= cutt.off.90days.scaled,
ep_major_t_3years * avg_days_in_year, cutt.off.90days.scaled),
ep_stroke_t_90days = ifelse(ep_stroke_t_3years * avg_days_in_year <= cutt.off.90days.scaled,
ep_stroke_t_3years * avg_days_in_year, cutt.off.90days.scaled),
ep_coronary_t_90days = ifelse(ep_coronary_t_3years * avg_days_in_year <= cutt.off.90days.scaled,
ep_coronary_t_3years * avg_days_in_year, cutt.off.90days.scaled),
ep_cvdeath_t_90days = ifelse(ep_cvdeath_t_3years * avg_days_in_year <= cutt.off.90days.scaled,
ep_cvdeath_t_3years * avg_days_in_year, cutt.off.90days.scaled)
)
attach(AEDB)
AEDB[,"epmajor.30days"] <- AEDB$epmajor.3years
AEDB$epmajor.30days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.30days] <- 0
AEDB[,"epstroke.30days"] <- AEDB$epstroke.3years
AEDB$epstroke.30days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.30days] <- 0
AEDB[,"epcoronary.30days"] <- AEDB$epcoronary.3years
AEDB$epcoronary.30days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.30days] <- 0
AEDB[,"epcvdeath.30days"] <- AEDB$epcvdeath.3years
AEDB$epcvdeath.30days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.30days] <- 0
AEDB[,"epmajor.90days"] <- AEDB$epmajor.3years
AEDB$epmajor.90days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.90days] <- 0
AEDB[,"epstroke.90days"] <- AEDB$epstroke.3years
AEDB$epstroke.90days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.90days] <- 0
AEDB[,"epcoronary.90days"] <- AEDB$epcoronary.3years
AEDB$epcoronary.90days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.90days] <- 0
AEDB[,"epcvdeath.90days"] <- AEDB$epcvdeath.3years
AEDB$epcvdeath.90days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.90days] <- 0
detach(AEDB)
AEDB.temp <- subset(AEDB, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary",
"epmajor.3years", "epstroke.3years", "epcoronary.3years", "epcvdeath.3years",
"epmajor.30days", "epstroke.30days", "epcoronary.30days", "epcvdeath.30days",
"epmajor.90days", "epstroke.90days", "epcoronary.90days", "epcvdeath.90days"))
require(labelled)
AEDB.temp$Gender <- to_factor(AEDB.temp$Gender)
AEDB.temp$Hospital <- to_factor(AEDB.temp$Hospital)
AEDB.temp$Artery_summary <- to_factor(AEDB.temp$Artery_summary)
DT::datatable(AEDB.temp[1:10,], caption = "Excerpt of the whole AEDB.", rownames = FALSE)
rm(AEDB.temp)
attach(AEDB.CEA)
AEDB.CEA[,"epmajor.30days"] <- AEDB.CEA$epmajor.3years
AEDB.CEA$epmajor.30days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.30days] <- 0
AEDB.CEA[,"epstroke.30days"] <- AEDB.CEA$epstroke.3years
AEDB.CEA$epstroke.30days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.30days] <- 0
AEDB.CEA[,"epcoronary.30days"] <- AEDB.CEA$epcoronary.3years
AEDB.CEA$epcoronary.30days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.30days] <- 0
AEDB.CEA[,"epcvdeath.30days"] <- AEDB.CEA$epcvdeath.3years
AEDB.CEA$epcvdeath.30days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.30days] <- 0
AEDB.CEA[,"epmajor.90days"] <- AEDB.CEA$epmajor.3years
AEDB.CEA$epmajor.90days[epmajor.3years == 1 & ep_major_t_3years > cutt.off.90days] <- 0
AEDB.CEA[,"epstroke.90days"] <- AEDB.CEA$epstroke.3years
AEDB.CEA$epstroke.90days[epstroke.3years == 1 & ep_stroke_t_3years > cutt.off.90days] <- 0
AEDB.CEA[,"epcoronary.90days"] <- AEDB.CEA$epcoronary.3years
AEDB.CEA$epcoronary.90days[epcoronary.3years == 1 & ep_coronary_t_3years > cutt.off.90days] <- 0
AEDB.CEA[,"epcvdeath.90days"] <- AEDB.CEA$epcvdeath.3years
AEDB.CEA$epcvdeath.90days[epcvdeath.3years == 1 & ep_cvdeath_t_3years > cutt.off.90days] <- 0
detach(AEDB.CEA)
AEDB.CEA.temp <- subset(AEDB.CEA, select = c("STUDY_NUMBER", "UPID", "Age", "Gender", "Hospital", "Artery_summary",
"epmajor.3years", "epstroke.3years", "epcoronary.3years", "epcvdeath.3years",
"epmajor.30days", "epstroke.30days", "epcoronary.30days", "epcvdeath.30days",
"epmajor.90days", "epstroke.90days", "epcoronary.90days", "epcvdeath.90days"))
require(labelled)
AEDB.CEA.temp$Gender <- to_factor(AEDB.CEA.temp$Gender)
AEDB.CEA.temp$Hospital <- to_factor(AEDB.CEA.temp$Hospital)
AEDB.CEA.temp$Artery_summary <- to_factor(AEDB.CEA.temp$Artery_summary)
DT::datatable(AEDB.CEA.temp[1:10,], caption = "Excerpt of the whole AEDB.CEA.", rownames = FALSE)
rm(AEDB.CEA.temp)
First we do some sanity checks and inventory the time-to-event and event variables.
# Reference: https://bioconductor.org/packages/devel/bioc/vignettes/MultiAssayExperiment/inst/doc/QuickStartMultiAssay.html
# If you want to suppress warnings and messages when installing/loading packages
# suppressPackageStartupMessages({})
install.packages.auto("survival")
install.packages.auto("survminer")
install.packages.auto("Hmisc")
cat("* Creating function to summarize Cox regression and prepare container for results.")
* Creating function to summarize Cox regression and prepare container for results.
# Function to get summary statistics from Cox regression model
COX.STAT <- function(coxfit, DATASET, OUTCOME, protein){
cat("Summarizing Cox regression results for '", protein ,"' and its association to '",OUTCOME,"' in '",DATASET,"'.\n")
if (nrow(summary(coxfit)$coefficients) == 1) {
output = c(protein, rep(NA,8))
cat("Model not fitted; probably singular.\n")
}else {
cat("Collecting data.\n\n")
cox.sum <- summary(coxfit)
cox.effectsize = cox.sum$coefficients[1,1]
cox.SE = cox.sum$coefficients[1,3]
cox.HReffect = cox.sum$coefficients[1,2]
cox.CI_low = exp(cox.effectsize - 1.96 * cox.SE)
cox.CI_up = exp(cox.effectsize + 1.96 * cox.SE)
cox.zvalue = cox.sum$coefficients[1,4]
cox.pvalue = cox.sum$coefficients[1,5]
cox.sample_size = cox.sum$n
cox.nevents = cox.sum$nevent
output = c(DATASET, OUTCOME, protein, cox.effectsize, cox.SE, cox.HReffect, cox.CI_low, cox.CI_up, cox.zvalue, cox.pvalue, cox.sample_size, cox.nevents)
cat("We have collected the following:\n")
cat("Dataset used..............:", DATASET, "\n")
cat("Outcome analyzed..........:", OUTCOME, "\n")
cat("Protein...................:", protein, "\n")
cat("Effect size...............:", round(cox.effectsize, 6), "\n")
cat("Standard error............:", round(cox.SE, 6), "\n")
cat("Odds ratio (effect size)..:", round(cox.HReffect, 3), "\n")
cat("Lower 95% CI..............:", round(cox.CI_low, 3), "\n")
cat("Upper 95% CI..............:", round(cox.CI_up, 3), "\n")
cat("T-value...................:", round(cox.zvalue, 6), "\n")
cat("P-value...................:", signif(cox.pvalue, 8), "\n")
cat("Sample size in model......:", cox.sample_size, "\n")
cat("Number of events..........:", cox.nevents, "\n")
}
return(output)
print(output)
}
times = c("ep_major_t_3years",
"ep_stroke_t_3years", "ep_coronary_t_3years", "ep_cvdeath_t_3years")
endpoints = c("epmajor.3years",
"epstroke.3years", "epcoronary.3years", "epcvdeath.3years")
cat("* Check the cases per event type - for sanity.")
* Check the cases per event type - for sanity.
for (events in endpoints){
require(labelled)
print(paste0("Printing the summary of: ",events))
# print(summary(AEDB.CEA[,events]))
print(table(AEDB.CEA[,events]))
}
[1] "Printing the summary of: epmajor.3years"
0 1
2002 259
[1] "Printing the summary of: epstroke.3years"
0 1
2134 128
[1] "Printing the summary of: epcoronary.3years"
0 1
2085 177
[1] "Printing the summary of: epcvdeath.3years"
0 1
2173 88
cat("* Check distribution of events over time - for sanity.")
* Check distribution of events over time - for sanity.
for (eventtimes in times){
print(paste0("Printing the summary of: ",eventtimes))
print(summary(AEDB.CEA[,eventtimes]))
}
[1] "Printing the summary of: ep_major_t_3years"
ep_major_t_3years
Min. :0.000
1st Qu.:2.770
Median :3.000
Mean :2.585
3rd Qu.:3.000
Max. :3.000
NA's :129
[1] "Printing the summary of: ep_stroke_t_3years"
ep_stroke_t_3years
Min. :0.000
1st Qu.:2.890
Median :3.000
Mean :2.636
3rd Qu.:3.000
Max. :3.000
NA's :129
[1] "Printing the summary of: ep_coronary_t_3years"
ep_coronary_t_3years
Min. :0.000
1st Qu.:2.851
Median :3.000
Mean :2.637
3rd Qu.:3.000
Max. :3.000
NA's :129
[1] "Printing the summary of: ep_cvdeath_t_3years"
ep_cvdeath_t_3years
Min. :0.00274
1st Qu.:2.91781
Median :3.00000
Mean :2.72214
3rd Qu.:3.00000
Max. :3.00000
NA's :129
for (eventtime in times){
print(paste0("Printing the distribution of: ",eventtime))
p <- gghistogram(AEDB.CEA, x = eventtime, y = "..count..",
main = eventtime, bins = 15,
xlab = "year", color = uithof_color[16], fill = uithof_color[16], ggtheme = theme_minimal())
print(p)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.EventDistributionPerYear.",eventtime,".pdf"), plot = last_plot())
}
[1] "Printing the distribution of: ep_major_t_3years"
[1] "Printing the distribution of: ep_stroke_t_3years"
[1] "Printing the distribution of: ep_coronary_t_3years"
[1] "Printing the distribution of: ep_cvdeath_t_3years"
times30 = c("ep_major_t_30days",
"ep_stroke_t_30days", "ep_coronary_t_30days", "ep_cvdeath_t_30days")
endpoints30 = c("epmajor.30days",
"epstroke.30days", "epcoronary.30days", "epcvdeath.30days")
cat("* Check the cases per event type - for sanity.")
* Check the cases per event type - for sanity.
for (events in endpoints30){
print(paste0("Printing the summary of: ",events))
# print(summary(AEDB.CEA[,events]))
print(table(AEDB.CEA[,events]))
}
[1] "Printing the summary of: epmajor.30days"
0 1
2186 75
[1] "Printing the summary of: epstroke.30days"
0 1
2209 53
[1] "Printing the summary of: epcoronary.30days"
0 1
2231 31
[1] "Printing the summary of: epcvdeath.30days"
0 1
2250 11
cat("* Check distribution of events over time - for sanity.")
* Check distribution of events over time - for sanity.
for (eventtimes in times30){
print(paste0("Printing the summary of: ",eventtimes))
print(summary(AEDB.CEA[,eventtimes]))
}
[1] "Printing the summary of: ep_major_t_30days"
ep_major_t_30days
Min. : 0.00
1st Qu.:30.00
Median :30.00
Mean :29.11
3rd Qu.:30.00
Max. :30.00
NA's :129
[1] "Printing the summary of: ep_stroke_t_30days"
ep_stroke_t_30days
Min. : 0.00
1st Qu.:30.00
Median :30.00
Mean :29.32
3rd Qu.:30.00
Max. :30.00
NA's :129
[1] "Printing the summary of: ep_coronary_t_30days"
ep_coronary_t_30days
Min. : 0.00
1st Qu.:30.00
Median :30.00
Mean :29.57
3rd Qu.:30.00
Max. :30.00
NA's :129
[1] "Printing the summary of: ep_cvdeath_t_30days"
ep_cvdeath_t_30days
Min. : 1.001
1st Qu.:30.000
Median :30.000
Mean :29.864
3rd Qu.:30.000
Max. :30.000
NA's :129
for (eventtime in times30){
print(paste0("Printing the distribution of: ",eventtime))
p <- gghistogram(AEDB.CEA, x = eventtime, y = "..count..",
main = eventtime, bins = 15,
xlab = "days", color = uithof_color[16], fill = uithof_color[16], ggtheme = theme_minimal())
print(p)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.EventDistributionPer30Days.",eventtime,".pdf"), plot = last_plot())
}
[1] "Printing the distribution of: ep_major_t_30days"
[1] "Printing the distribution of: ep_stroke_t_30days"
[1] "Printing the distribution of: ep_coronary_t_30days"
[1] "Printing the distribution of: ep_cvdeath_t_30days"
times90 = c("ep_major_t_90days",
"ep_stroke_t_90days", "ep_coronary_t_90days", "ep_cvdeath_t_90days")
endpoints90 = c("epmajor.90days",
"epstroke.90days", "epcoronary.90days", "epcvdeath.90days")
cat("* Check the cases per event type - for sanity.")
* Check the cases per event type - for sanity.
for (events in endpoints90){
print(paste0("Printing the summary of: ",events))
# print(summary(AEDB.CEA[,events]))
print(table(AEDB.CEA[,events]))
}
[1] "Printing the summary of: epmajor.90days"
0 1
2170 91
[1] "Printing the summary of: epstroke.90days"
0 1
2202 60
[1] "Printing the summary of: epcoronary.90days"
0 1
2222 40
[1] "Printing the summary of: epcvdeath.90days"
0 1
2243 18
cat("* Check distribution of events over time - for sanity.")
* Check distribution of events over time - for sanity.
for (eventtimes in times90){
print(paste0("Printing the summary of: ",eventtimes))
print(summary(AEDB.CEA[,eventtimes]))
}
[1] "Printing the summary of: ep_major_t_90days"
ep_major_t_90days
Min. : 0.00
1st Qu.:90.00
Median :90.00
Mean :86.81
3rd Qu.:90.00
Max. :90.00
NA's :129
[1] "Printing the summary of: ep_stroke_t_90days"
ep_stroke_t_90days
Min. : 0.00
1st Qu.:90.00
Median :90.00
Mean :87.52
3rd Qu.:90.00
Max. :90.00
NA's :129
[1] "Printing the summary of: ep_coronary_t_90days"
ep_coronary_t_90days
Min. : 0.00
1st Qu.:90.00
Median :90.00
Mean :88.32
3rd Qu.:90.00
Max. :90.00
NA's :129
[1] "Printing the summary of: ep_cvdeath_t_90days"
ep_cvdeath_t_90days
Min. : 1.001
1st Qu.:90.000
Median :90.000
Mean :89.357
3rd Qu.:90.000
Max. :90.000
NA's :129
for (eventtime in times90){
print(paste0("Printing the distribution of: ",eventtime))
p <- gghistogram(AEDB.CEA, x = eventtime, y = "..count..",
main = eventtime, bins = 15,
xlab = "days", color = uithof_color[16], fill = uithof_color[16], ggtheme = theme_minimal())
print(p)
ggsave(file = paste0(PLOT_loc, "/",Today,".AEDB.CEA.EventDistributionPer90Days.",eventtime,".pdf"), plot = last_plot())
}
[1] "Printing the distribution of: ep_major_t_90days"
[1] "Printing the distribution of: ep_stroke_t_90days"
[1] "Printing the distribution of: ep_coronary_t_90days"
[1] "Printing the distribution of: ep_cvdeath_t_90days"
Let’s perform the actual Cox-regressions. We will apply a couple of models:
MODEL 1
# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))
# Looping over each protein/endpoint/time combination
for (i in 1:length(times)){
eptime = times[i]
ep = endpoints[i]
cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
cat(" - creating temporary SE for this work.\n")
TEMP.DF = as.data.frame(AEDB.CEA)
cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
TEMP.DF$event <- as.integer(TEMP.DF[,ep])
TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
for (protein in 1:length(TRAITS.PROTEIN.RANK)){
cat(paste0(" > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
# splitting into two groups
TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
cat(paste0(" > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
cat(paste0("\n > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
cat(paste0("\n > make a Kaplan-Meier-shizzle...\n"))
# make Kaplan-Meier curve and save it
show(ggsurvplot(fit, data = TEMP.DF,
palette = c("#DB003F", "#1290D9"),
# palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
linetype = c(1,2),
# linetype = c(1,2,3,4),
# conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
pval = FALSE, pval.method = FALSE, pval.size = 4,
risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
censor = FALSE,
legend = "right",
legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
legend.labs = c("low", "high"),
title = paste0("Risk of ",ep,""), xlab = "Time [years]", font.main = c(16, "bold", "black")))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.survival.",ep,".2G.",
TRAITS.PROTEIN.RANK[protein],".pdf"), width = 12, height = 10, onefile = FALSE)
cat(paste0("\n > perform the Cox-regression fashizzle and plot it...\n"))
### Do Cox-regression and plot it
### MODEL 1 (Simple model)
cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age+Gender, data = TEMP.DF)
coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age+Gender, data = TEMP.DF)
plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
# ylim = c(0.2, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
ylab = "Suvival probability", xlab = "FU time [years]",
mark.time = FALSE, axes = FALSE, bty = "n")
legend("topright",
c("low", "high"),
title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
bty = "n")
axis(side = 1, at = seq(0, 3, by = 1))
axis(side = 2, at = seq(0, 1, by = 0.2))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.Cox.",ep,".2G.",
# Today,".AEDB.CEA.Cox.",ep,".4G.",
TRAITS.PROTEIN.RANK[protein],".MODEL1.pdf"), height = 12, width = 10, onefile = TRUE)
show(summary(cox))
cat(paste0("\n > writing the Cox-regression fashizzle to Excel...\n"))
COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
COX.results = rbind(COX.results, COX.results.TEMP)
}
}
* Analyzing the effect of plaque proteins on [epmajor.3years].
- creating temporary SE for this work.
- making a 'Surv' object and adding this to temporary dataframe.
- making strata of each of the plaque proteins and start survival analysis.
> processing [IL6_rank]; 1 out of 5 proteins.
> cross tabulation of IL6_rank-stratum.
[-1.48329,0.00474) [ 0.00474,3.10694]
265 264
> fitting the model for IL6_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 522, number of events= 70
(1866 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 0.15269 1.16496 0.23974 0.637 0.52420
Age 0.03853 1.03928 0.01471 2.620 0.00879 **
Gendermale 0.78339 2.18888 0.32848 2.385 0.01708 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 1.165 0.8584 0.7282 1.864
Age 1.039 0.9622 1.0098 1.070
Gendermale 2.189 0.4569 1.1498 4.167
Concordance= 0.632 (se = 0.036 )
Likelihood ratio test= 14.17 on 3 df, p=0.003
Wald test = 12.77 on 3 df, p=0.005
Score (logrank) test = 13.09 on 3 df, p=0.004
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: IL6_rank
Effect size...............: 0.152688
Standard error............: 0.239742
Odds ratio (effect size)..: 1.165
Lower 95% CI..............: 0.728
Upper 95% CI..............: 1.864
T-value...................: 0.636883
P-value...................: 0.524201
Sample size in model......: 522
Number of events..........: 70
> processing [MCP1_rank]; 2 out of 5 proteins.
> cross tabulation of MCP1_rank-stratum.
[-2.41053,0.00444) [ 0.00444,3.12635]
283 282
> fitting the model for MCP1_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 558, number of events= 72
(1830 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] -0.20048 0.81834 0.23746 -0.844 0.3985
Age 0.03070 1.03117 0.01446 2.123 0.0338 *
Gendermale 0.81021 2.24838 0.32813 2.469 0.0135 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 0.8183 1.2220 0.5138 1.303
Age 1.0312 0.9698 1.0024 1.061
Gendermale 2.2484 0.4448 1.1819 4.277
Concordance= 0.62 (se = 0.035 )
Likelihood ratio test= 12.85 on 3 df, p=0.005
Wald test = 11.56 on 3 df, p=0.009
Score (logrank) test = 11.89 on 3 df, p=0.008
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: MCP1_rank
Effect size...............: -0.200476
Standard error............: 0.237458
Odds ratio (effect size)..: 0.818
Lower 95% CI..............: 0.514
Upper 95% CI..............: 1.303
T-value...................: -0.844258
P-value...................: 0.3985254
Sample size in model......: 558
Number of events..........: 72
> processing [IL6_pg_ug_2015_rank]; 3 out of 5 proteins.
> cross tabulation of IL6_pg_ug_2015_rank-stratum.
[-3.33061,0.00109) [ 0.00109,3.33061]
577 577
> fitting the model for IL6_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1141, number of events= 133
(1247 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] -0.03418 0.96640 0.17344 -0.197 0.843795
Age 0.03487 1.03549 0.01013 3.441 0.000579 ***
Gendermale 0.44653 1.56287 0.21004 2.126 0.033515 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 0.9664 1.0348 0.6879 1.358
Age 1.0355 0.9657 1.0151 1.056
Gendermale 1.5629 0.6398 1.0355 2.359
Concordance= 0.597 (se = 0.026 )
Likelihood ratio test= 17.19 on 3 df, p=6e-04
Wald test = 16.13 on 3 df, p=0.001
Score (logrank) test = 16.22 on 3 df, p=0.001
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: IL6_pg_ug_2015_rank
Effect size...............: -0.034175
Standard error............: 0.173443
Odds ratio (effect size)..: 0.966
Lower 95% CI..............: 0.688
Upper 95% CI..............: 1.358
T-value...................: -0.197041
P-value...................: 0.8437952
Sample size in model......: 1141
Number of events..........: 133
> processing [IL6R_pg_ug_2015_rank]; 4 out of 5 proteins.
> cross tabulation of IL6R_pg_ug_2015_rank-stratum.
[-3.33109,0.00108) [ 0.00108,3.33109]
578 578
> fitting the model for IL6R_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1143, number of events= 137
(1245 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 0.448497 1.565956 0.174488 2.570 0.010159 *
Age 0.033432 1.033997 0.009989 3.347 0.000817 ***
Gendermale 0.335403 1.398504 0.201961 1.661 0.096766 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 1.566 0.6386 1.1124 2.204
Age 1.034 0.9671 1.0140 1.054
Gendermale 1.399 0.7150 0.9414 2.078
Concordance= 0.607 (se = 0.024 )
Likelihood ratio test= 20.48 on 3 df, p=1e-04
Wald test = 19.65 on 3 df, p=2e-04
Score (logrank) test = 19.73 on 3 df, p=2e-04
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6R_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: IL6R_pg_ug_2015_rank
Effect size...............: 0.448497
Standard error............: 0.174488
Odds ratio (effect size)..: 1.566
Lower 95% CI..............: 1.112
Upper 95% CI..............: 2.204
T-value...................: 2.570364
P-value...................: 0.01015916
Sample size in model......: 1143
Number of events..........: 137
> processing [MCP1_pg_ug_2015_rank]; 5 out of 5 proteins.
> cross tabulation of MCP1_pg_ug_2015_rank-stratum.
[-3.34148,0.00104) [ 0.00104,3.34148]
600 600
> fitting the model for MCP1_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1187, number of events= 139
(1201 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 0.037312 1.038016 0.169989 0.219 0.826266
Age 0.033060 1.033613 0.009864 3.351 0.000804 ***
Gendermale 0.343970 1.410536 0.199674 1.723 0.084950 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 1.038 0.9634 0.7439 1.448
Age 1.034 0.9675 1.0138 1.054
Gendermale 1.411 0.7090 0.9537 2.086
Concordance= 0.587 (se = 0.025 )
Likelihood ratio test= 14.94 on 3 df, p=0.002
Wald test = 14.19 on 3 df, p=0.003
Score (logrank) test = 14.26 on 3 df, p=0.003
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: MCP1_pg_ug_2015_rank
Effect size...............: 0.037312
Standard error............: 0.169989
Odds ratio (effect size)..: 1.038
Lower 95% CI..............: 0.744
Upper 95% CI..............: 1.448
T-value...................: 0.219494
P-value...................: 0.8262655
Sample size in model......: 1187
Number of events..........: 139
* Analyzing the effect of plaque proteins on [epstroke.3years].
- creating temporary SE for this work.
- making a 'Surv' object and adding this to temporary dataframe.
- making strata of each of the plaque proteins and start survival analysis.
> processing [IL6_rank]; 1 out of 5 proteins.
> cross tabulation of IL6_rank-stratum.
[-1.48329,0.00474) [ 0.00474,3.10694]
265 264
> fitting the model for IL6_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 522, number of events= 37
(1866 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 0.07624 1.07922 0.32935 0.231 0.817
Age 0.02809 1.02849 0.01976 1.422 0.155
Gendermale 0.20807 1.23130 0.38325 0.543 0.587
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 1.079 0.9266 0.5659 2.058
Age 1.028 0.9723 0.9894 1.069
Gendermale 1.231 0.8122 0.5809 2.610
Concordance= 0.569 (se = 0.051 )
Likelihood ratio test= 2.43 on 3 df, p=0.5
Wald test = 2.35 on 3 df, p=0.5
Score (logrank) test = 2.35 on 3 df, p=0.5
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: IL6_rank
Effect size...............: 0.076241
Standard error............: 0.329345
Odds ratio (effect size)..: 1.079
Lower 95% CI..............: 0.566
Upper 95% CI..............: 2.058
T-value...................: 0.231493
P-value...................: 0.8169321
Sample size in model......: 522
Number of events..........: 37
> processing [MCP1_rank]; 2 out of 5 proteins.
> cross tabulation of MCP1_rank-stratum.
[-2.41053,0.00444) [ 0.00444,3.12635]
283 282
> fitting the model for MCP1_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 558, number of events= 38
(1830 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] -0.33054 0.71854 0.32977 -1.002 0.316
Age 0.01603 1.01615 0.01930 0.830 0.406
Gendermale 0.26127 1.29858 0.38266 0.683 0.495
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 0.7185 1.3917 0.3765 1.371
Age 1.0162 0.9841 0.9784 1.055
Gendermale 1.2986 0.7701 0.6134 2.749
Concordance= 0.558 (se = 0.044 )
Likelihood ratio test= 2.22 on 3 df, p=0.5
Wald test = 2.2 on 3 df, p=0.5
Score (logrank) test = 2.21 on 3 df, p=0.5
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: MCP1_rank
Effect size...............: -0.330541
Standard error............: 0.329767
Odds ratio (effect size)..: 0.719
Lower 95% CI..............: 0.376
Upper 95% CI..............: 1.371
T-value...................: -1.002346
P-value...................: 0.3161763
Sample size in model......: 558
Number of events..........: 38
> processing [IL6_pg_ug_2015_rank]; 3 out of 5 proteins.
> cross tabulation of IL6_pg_ug_2015_rank-stratum.
[-3.33061,0.00109) [ 0.00109,3.33061]
577 577
> fitting the model for IL6_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1141, number of events= 69
(1247 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] -0.17128 0.84258 0.24143 -0.709 0.47805
Age 0.03832 1.03907 0.01407 2.724 0.00645 **
Gendermale 0.12792 1.13646 0.26956 0.475 0.63511
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 0.8426 1.1868 0.5249 1.352
Age 1.0391 0.9624 1.0108 1.068
Gendermale 1.1365 0.8799 0.6700 1.928
Concordance= 0.601 (se = 0.035 )
Likelihood ratio test= 8.42 on 3 df, p=0.04
Wald test = 8.05 on 3 df, p=0.05
Score (logrank) test = 8.1 on 3 df, p=0.04
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: IL6_pg_ug_2015_rank
Effect size...............: -0.171284
Standard error............: 0.241434
Odds ratio (effect size)..: 0.843
Lower 95% CI..............: 0.525
Upper 95% CI..............: 1.352
T-value...................: -0.709446
P-value...................: 0.4780475
Sample size in model......: 1141
Number of events..........: 69
> processing [IL6R_pg_ug_2015_rank]; 4 out of 5 proteins.
> cross tabulation of IL6R_pg_ug_2015_rank-stratum.
[-3.33109,0.00108) [ 0.00108,3.33109]
578 578
> fitting the model for IL6R_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1143, number of events= 72
(1245 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 0.37431 1.45399 0.23932 1.564 0.1178
Age 0.03294 1.03349 0.01373 2.400 0.0164 *
Gendermale 0.09556 1.10027 0.26316 0.363 0.7165
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 1.454 0.6878 0.9096 2.324
Age 1.033 0.9676 1.0061 1.062
Gendermale 1.100 0.9089 0.6569 1.843
Concordance= 0.593 (se = 0.034 )
Likelihood ratio test= 8.25 on 3 df, p=0.04
Wald test = 7.97 on 3 df, p=0.05
Score (logrank) test = 8 on 3 df, p=0.05
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6R_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: IL6R_pg_ug_2015_rank
Effect size...............: 0.374314
Standard error............: 0.239317
Odds ratio (effect size)..: 1.454
Lower 95% CI..............: 0.91
Upper 95% CI..............: 2.324
T-value...................: 1.564093
P-value...................: 0.1177957
Sample size in model......: 1143
Number of events..........: 72
> processing [MCP1_pg_ug_2015_rank]; 5 out of 5 proteins.
> cross tabulation of MCP1_pg_ug_2015_rank-stratum.
[-3.34148,0.00104) [ 0.00104,3.34148]
600 600
> fitting the model for MCP1_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1187, number of events= 73
(1201 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 0.13635 1.14608 0.23507 0.580 0.5619
Age 0.03393 1.03451 0.01354 2.505 0.0122 *
Gendermale 0.07048 1.07302 0.25901 0.272 0.7855
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 1.146 0.8725 0.7230 1.817
Age 1.035 0.9666 1.0074 1.062
Gendermale 1.073 0.9319 0.6459 1.783
Concordance= 0.595 (se = 0.033 )
Likelihood ratio test= 6.98 on 3 df, p=0.07
Wald test = 6.75 on 3 df, p=0.08
Score (logrank) test = 6.78 on 3 df, p=0.08
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: MCP1_pg_ug_2015_rank
Effect size...............: 0.13635
Standard error............: 0.235072
Odds ratio (effect size)..: 1.146
Lower 95% CI..............: 0.723
Upper 95% CI..............: 1.817
T-value...................: 0.580033
P-value...................: 0.5618924
Sample size in model......: 1187
Number of events..........: 73
* Analyzing the effect of plaque proteins on [epcoronary.3years].
- creating temporary SE for this work.
- making a 'Surv' object and adding this to temporary dataframe.
- making strata of each of the plaque proteins and start survival analysis.
> processing [IL6_rank]; 1 out of 5 proteins.
> cross tabulation of IL6_rank-stratum.
[-1.48329,0.00474) [ 0.00474,3.10694]
265 264
> fitting the model for IL6_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 522, number of events= 47
(1866 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 0.17371 1.18970 0.29265 0.594 0.5528
Age 0.03896 1.03973 0.01792 2.175 0.0297 *
Gendermale 1.01973 2.77244 0.43719 2.332 0.0197 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 1.190 0.8405 0.6704 2.111
Age 1.040 0.9618 1.0039 1.077
Gendermale 2.772 0.3607 1.1769 6.531
Concordance= 0.646 (se = 0.038 )
Likelihood ratio test= 12.15 on 3 df, p=0.007
Wald test = 10.44 on 3 df, p=0.02
Score (logrank) test = 10.96 on 3 df, p=0.01
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: IL6_rank
Effect size...............: 0.173705
Standard error............: 0.292653
Odds ratio (effect size)..: 1.19
Lower 95% CI..............: 0.67
Upper 95% CI..............: 2.111
T-value...................: 0.593554
P-value...................: 0.5528105
Sample size in model......: 522
Number of events..........: 47
> processing [MCP1_rank]; 2 out of 5 proteins.
> cross tabulation of MCP1_rank-stratum.
[-2.41053,0.00444) [ 0.00444,3.12635]
283 282
> fitting the model for MCP1_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 558, number of events= 47
(1830 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 0.30417 1.35550 0.29625 1.027 0.3045
Age 0.03606 1.03672 0.01811 1.991 0.0464 *
Gendermale 0.79302 2.21007 0.41021 1.933 0.0532 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 1.356 0.7377 0.7585 2.423
Age 1.037 0.9646 1.0006 1.074
Gendermale 2.210 0.4525 0.9891 4.938
Concordance= 0.628 (se = 0.039 )
Likelihood ratio test= 9.85 on 3 df, p=0.02
Wald test = 8.75 on 3 df, p=0.03
Score (logrank) test = 8.99 on 3 df, p=0.03
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: MCP1_rank
Effect size...............: 0.304172
Standard error............: 0.296253
Odds ratio (effect size)..: 1.356
Lower 95% CI..............: 0.758
Upper 95% CI..............: 2.423
T-value...................: 1.026729
P-value...................: 0.3045479
Sample size in model......: 558
Number of events..........: 47
> processing [IL6_pg_ug_2015_rank]; 3 out of 5 proteins.
> cross tabulation of IL6_pg_ug_2015_rank-stratum.
[-3.33061,0.00109) [ 0.00109,3.33061]
577 577
> fitting the model for IL6_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1141, number of events= 89
(1247 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] -0.079260 0.923800 0.212158 -0.374 0.70871
Age 0.005236 1.005250 0.011952 0.438 0.66131
Gendermale 0.776579 2.174022 0.283231 2.742 0.00611 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 0.9238 1.0825 0.6095 1.400
Age 1.0053 0.9948 0.9820 1.029
Gendermale 2.1740 0.4600 1.2479 3.787
Concordance= 0.575 (se = 0.028 )
Likelihood ratio test= 9.22 on 3 df, p=0.03
Wald test = 7.88 on 3 df, p=0.05
Score (logrank) test = 8.27 on 3 df, p=0.04
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: IL6_pg_ug_2015_rank
Effect size...............: -0.07926
Standard error............: 0.212158
Odds ratio (effect size)..: 0.924
Lower 95% CI..............: 0.61
Upper 95% CI..............: 1.4
T-value...................: -0.373589
P-value...................: 0.7087101
Sample size in model......: 1141
Number of events..........: 89
> processing [IL6R_pg_ug_2015_rank]; 4 out of 5 proteins.
> cross tabulation of IL6R_pg_ug_2015_rank-stratum.
[-3.33109,0.00108) [ 0.00108,3.33109]
578 578
> fitting the model for IL6R_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1143, number of events= 90
(1245 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 0.382893 1.466522 0.214416 1.786 0.0741 .
Age 0.007227 1.007253 0.011916 0.607 0.5442
Gendermale 0.619255 1.857544 0.269355 2.299 0.0215 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 1.467 0.6819 0.9633 2.233
Age 1.007 0.9928 0.9840 1.031
Gendermale 1.858 0.5383 1.0956 3.149
Concordance= 0.59 (se = 0.029 )
Likelihood ratio test= 9.52 on 3 df, p=0.02
Wald test = 8.77 on 3 df, p=0.03
Score (logrank) test = 8.98 on 3 df, p=0.03
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6R_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: IL6R_pg_ug_2015_rank
Effect size...............: 0.382893
Standard error............: 0.214416
Odds ratio (effect size)..: 1.467
Lower 95% CI..............: 0.963
Upper 95% CI..............: 2.233
T-value...................: 1.785754
P-value...................: 0.0741391
Sample size in model......: 1143
Number of events..........: 90
> processing [MCP1_pg_ug_2015_rank]; 5 out of 5 proteins.
> cross tabulation of MCP1_pg_ug_2015_rank-stratum.
[-3.34148,0.00104) [ 0.00104,3.34148]
600 600
> fitting the model for MCP1_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1187, number of events= 91
(1201 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] -0.172568 0.841501 0.210487 -0.820 0.4123
Age 0.006873 1.006897 0.011840 0.581 0.5616
Gendermale 0.671236 1.956655 0.269190 2.494 0.0126 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 0.8415 1.1884 0.5570 1.271
Age 1.0069 0.9932 0.9838 1.031
Gendermale 1.9567 0.5111 1.1545 3.316
Concordance= 0.577 (se = 0.03 )
Likelihood ratio test= 7.99 on 3 df, p=0.05
Wald test = 7.11 on 3 df, p=0.07
Score (logrank) test = 7.34 on 3 df, p=0.06
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: MCP1_pg_ug_2015_rank
Effect size...............: -0.172568
Standard error............: 0.210487
Odds ratio (effect size)..: 0.842
Lower 95% CI..............: 0.557
Upper 95% CI..............: 1.271
T-value...................: -0.819853
P-value...................: 0.4122998
Sample size in model......: 1187
Number of events..........: 91
* Analyzing the effect of plaque proteins on [epcvdeath.3years].
- creating temporary SE for this work.
- making a 'Surv' object and adding this to temporary dataframe.
- making strata of each of the plaque proteins and start survival analysis.
> processing [IL6_rank]; 1 out of 5 proteins.
> cross tabulation of IL6_rank-stratum.
[-1.48329,0.00474) [ 0.00474,3.10694]
265 264
> fitting the model for IL6_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 522, number of events= 27
(1866 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 0.12032 1.12786 0.38592 0.312 0.7552
Age 0.05430 1.05581 0.02434 2.231 0.0257 *
Gendermale 0.82329 2.27798 0.54178 1.520 0.1286
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 1.128 0.8866 0.5294 2.403
Age 1.056 0.9471 1.0066 1.107
Gendermale 2.278 0.4390 0.7877 6.587
Concordance= 0.665 (se = 0.059 )
Likelihood ratio test= 8.18 on 3 df, p=0.04
Wald test = 7.35 on 3 df, p=0.06
Score (logrank) test = 7.53 on 3 df, p=0.06
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: IL6_rank
Effect size...............: 0.120318
Standard error............: 0.385919
Odds ratio (effect size)..: 1.128
Lower 95% CI..............: 0.529
Upper 95% CI..............: 2.403
T-value...................: 0.311771
P-value...................: 0.7552146
Sample size in model......: 522
Number of events..........: 27
> processing [MCP1_rank]; 2 out of 5 proteins.
> cross tabulation of MCP1_rank-stratum.
[-2.41053,0.00444) [ 0.00444,3.12635]
283 282
> fitting the model for MCP1_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 558, number of events= 27
(1830 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] -0.05233 0.94902 0.38729 -0.135 0.8925
Age 0.05687 1.05852 0.02468 2.304 0.0212 *
Gendermale 0.79435 2.21300 0.54234 1.465 0.1430
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 0.949 1.0537 0.4442 2.027
Age 1.059 0.9447 1.0085 1.111
Gendermale 2.213 0.4519 0.7644 6.407
Concordance= 0.667 (se = 0.059 )
Likelihood ratio test= 8.48 on 3 df, p=0.04
Wald test = 7.69 on 3 df, p=0.05
Score (logrank) test = 7.85 on 3 df, p=0.05
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: MCP1_rank
Effect size...............: -0.052326
Standard error............: 0.387295
Odds ratio (effect size)..: 0.949
Lower 95% CI..............: 0.444
Upper 95% CI..............: 2.027
T-value...................: -0.135107
P-value...................: 0.8925272
Sample size in model......: 558
Number of events..........: 27
> processing [IL6_pg_ug_2015_rank]; 3 out of 5 proteins.
> cross tabulation of IL6_pg_ug_2015_rank-stratum.
[-3.33061,0.00109) [ 0.00109,3.33061]
577 577
> fitting the model for IL6_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1141, number of events= 45
(1247 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 0.10096 1.10623 0.29884 0.338 0.7355
Age 0.08294 1.08648 0.01919 4.322 1.55e-05 ***
Gendermale 0.89258 2.44141 0.41182 2.167 0.0302 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 1.106 0.9040 0.6158 1.987
Age 1.086 0.9204 1.0464 1.128
Gendermale 2.441 0.4096 1.0892 5.472
Concordance= 0.706 (se = 0.037 )
Likelihood ratio test= 26.21 on 3 df, p=9e-06
Wald test = 22.65 on 3 df, p=5e-05
Score (logrank) test = 23.27 on 3 df, p=4e-05
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: IL6_pg_ug_2015_rank
Effect size...............: 0.100959
Standard error............: 0.298838
Odds ratio (effect size)..: 1.106
Lower 95% CI..............: 0.616
Upper 95% CI..............: 1.987
T-value...................: 0.337838
P-value...................: 0.7354853
Sample size in model......: 1141
Number of events..........: 45
> processing [IL6R_pg_ug_2015_rank]; 4 out of 5 proteins.
> cross tabulation of IL6R_pg_ug_2015_rank-stratum.
[-3.33109,0.00108) [ 0.00108,3.33109]
578 578
> fitting the model for IL6R_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1143, number of events= 45
(1245 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 0.77149 2.16299 0.31659 2.437 0.0148 *
Age 0.08479 1.08849 0.01926 4.403 1.07e-05 ***
Gendermale 0.87112 2.38958 0.41164 2.116 0.0343 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 2.163 0.4623 1.163 4.023
Age 1.088 0.9187 1.048 1.130
Gendermale 2.390 0.4185 1.066 5.354
Concordance= 0.727 (se = 0.037 )
Likelihood ratio test= 31.83 on 3 df, p=6e-07
Wald test = 28.21 on 3 df, p=3e-06
Score (logrank) test = 28.76 on 3 df, p=3e-06
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6R_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: IL6R_pg_ug_2015_rank
Effect size...............: 0.77149
Standard error............: 0.316594
Odds ratio (effect size)..: 2.163
Lower 95% CI..............: 1.163
Upper 95% CI..............: 4.023
T-value...................: 2.436846
P-value...................: 0.01481598
Sample size in model......: 1143
Number of events..........: 45
> processing [MCP1_pg_ug_2015_rank]; 5 out of 5 proteins.
> cross tabulation of MCP1_pg_ug_2015_rank-stratum.
[-3.34148,0.00104) [ 0.00104,3.34148]
600 600
> fitting the model for MCP1_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender, data = TEMP.DF)
n= 1187, number of events= 45
(1201 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] -0.11294 0.89320 0.29879 -0.378 0.7054
Age 0.08412 1.08776 0.01929 4.360 1.3e-05 ***
Gendermale 0.90814 2.47970 0.41206 2.204 0.0275 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 0.8932 1.1196 0.4973 1.604
Age 1.0878 0.9193 1.0474 1.130
Gendermale 2.4797 0.4033 1.1057 5.561
Concordance= 0.709 (se = 0.036 )
Likelihood ratio test= 26.75 on 3 df, p=7e-06
Wald test = 23.06 on 3 df, p=4e-05
Score (logrank) test = 23.7 on 3 df, p=3e-05
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: MCP1_pg_ug_2015_rank
Effect size...............: -0.112944
Standard error............: 0.298793
Odds ratio (effect size)..: 0.893
Lower 95% CI..............: 0.497
Upper 95% CI..............: 1.604
T-value...................: -0.378
P-value...................: 0.7054304
Sample size in model......: 1187
Number of events..........: 45
cat("- Edit the column names...\n")
- Edit the column names...
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
"Beta", "s.e.m.",
"HR", "low95CI", "up95CI",
"Z-value", "P-value", "SampleSize", "N_events")
cat("- Correct the variable types...\n")
- Correct the variable types...
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)
AEDB.CEA.COX.results <- COX.results
# Save the data
cat("- Writing results to Excel-file...\n")
- Writing results to Excel-file...
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL1.xlsx"),
creator = "Sander W. van der Laan",
sheetName = "Results", headerStyle = head.style,
row.names = FALSE, col.names = TRUE, overwrite = TRUE)
# Removing intermediates
cat("- Removing intermediate files...\n")
- Removing intermediate files...
#rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)
#rm(head.style)
MODEL 2
# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))
# Looping over each protein/endpoint/time combination
for (i in 1:length(times)){
eptime = times[i]
ep = endpoints[i]
cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
cat(" - creating temporary SE for this work.\n")
TEMP.DF = as.data.frame(AEDB.CEA)
cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
TEMP.DF$event <- as.integer(TEMP.DF[,ep])
#as.integer(TEMP.DF[,ep] == "Excluded")
TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
for (protein in 1:length(TRAITS.PROTEIN.RANK)){
cat(paste0(" > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
# splitting into two groups
TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
cat(paste0(" > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
cat(paste0("\n > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
cat(paste0("\n > make a Kaplan-Meier-shizzle...\n"))
# make Kaplan-Meier curve and save it
show(ggsurvplot(fit, data = TEMP.DF,
palette = c("#DB003F", "#1290D9"),
# palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
linetype = c(1,2),
# linetype = c(1,2,3,4),
# conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
pval = FALSE, pval.method = FALSE, pval.size = 4,
risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
censor = FALSE,
legend = "right",
legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
legend.labs = c("low", "high"),
title = paste0("Risk of ",ep,""), xlab = "Time [years]", font.main = c(16, "bold", "black")))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.survival.",ep,".2G.",
TRAITS.PROTEIN.RANK[protein],".pdf"), width = 12, height = 10, onefile = FALSE)
cat(paste0("\n > perform the Cox-regression fashizzle and plot it...\n"))
### Do Cox-regression and plot it
### MODEL 2 adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis
cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age + Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + CAD_history + Stroke_history + Peripheral.interv + stenose, data = TEMP.DF)
coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age + Gender + Hypertension.composite + DiabetesStatus + SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + CAD_history + Stroke_history + Peripheral.interv + stenose, data = TEMP.DF)
plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
# ylim = c(0.2, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
ylab = "Suvival probability", xlab = "FU time [years]",
mark.time = FALSE, axes = FALSE, bty = "n")
legend("topright",
c("low", "high"),
title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
bty = "n")
axis(side = 1, at = seq(0, 3, by = 1))
axis(side = 2, at = seq(0, 1, by = 0.2))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.Cox.",ep,".2G.",
# Today,".AEDB.CEA.Cox.",ep,".4G.",
TRAITS.PROTEIN.RANK[protein],".MODEL2.pdf"), height = 12, width = 10, onefile = TRUE)
show(summary(cox))
cat(paste0("\n > writing the Cox-regression fashizzle to Excel...\n"))
COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
COX.results = rbind(COX.results, COX.results.TEMP)
}
}
* Analyzing the effect of plaque proteins on [epmajor.3years].
- creating temporary SE for this work.
- making a 'Surv' object and adding this to temporary dataframe.
- making strata of each of the plaque proteins and start survival analysis.
> processing [IL6_rank]; 1 out of 5 proteins.
> cross tabulation of IL6_rank-stratum.
[-1.48329,0.00474) [ 0.00474,3.10694]
265 264
> fitting the model for IL6_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 477, number of events= 64
(1911 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 1.309e-01 1.140e+00 2.580e-01 0.508 0.61176
Age 4.862e-02 1.050e+00 1.825e-02 2.664 0.00773 **
Gendermale 6.880e-01 1.990e+00 3.396e-01 2.026 0.04279 *
Hypertension.compositeno -7.622e-01 4.666e-01 5.345e-01 -1.426 0.15387
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes 7.270e-01 2.069e+00 2.896e-01 2.510 0.01207 *
SmokerCurrentno -6.648e-01 5.144e-01 2.676e-01 -2.484 0.01298 *
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 2.278e-01 1.256e+00 2.880e-01 0.791 0.42898
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 1.425e-01 1.153e+00 4.189e-01 0.340 0.73377
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -4.913e-03 9.951e-01 6.711e-03 -0.732 0.46411
BMI 5.332e-04 1.001e+00 3.520e-02 0.015 0.98792
CAD_history 5.932e-01 1.810e+00 2.727e-01 2.176 0.02959 *
Stroke_history 1.930e-01 1.213e+00 2.673e-01 0.722 0.47032
Peripheral.interv 6.059e-02 1.062e+00 3.164e-01 0.191 0.84814
stenose0-49% -1.611e+01 1.011e-07 3.372e+03 -0.005 0.99619
stenose50-70% -1.333e+00 2.637e-01 1.461e+00 -0.912 0.36164
stenose70-90% -4.726e-01 6.234e-01 1.061e+00 -0.445 0.65609
stenose90-99% -7.412e-01 4.765e-01 1.069e+00 -0.694 0.48795
stenose100% (Occlusion) NA NA 0.000e+00 NA NA
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% NA NA 0.000e+00 NA NA
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 1.140e+00 8.773e-01 0.68752 1.8899
Age 1.050e+00 9.525e-01 1.01293 1.0881
Gendermale 1.990e+00 5.026e-01 1.02259 3.8717
Hypertension.compositeno 4.666e-01 2.143e+00 0.16368 1.3303
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 2.069e+00 4.834e-01 1.17271 3.6496
SmokerCurrentno 5.144e-01 1.944e+00 0.30442 0.8691
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.256e+00 7.963e-01 0.71413 2.2084
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.153e+00 8.672e-01 0.50733 2.6210
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.951e-01 1.005e+00 0.98210 1.0083
BMI 1.001e+00 9.995e-01 0.93383 1.0720
CAD_history 1.810e+00 5.525e-01 1.06055 3.0885
Stroke_history 1.213e+00 8.245e-01 0.71822 2.0483
Peripheral.interv 1.062e+00 9.412e-01 0.57145 1.9754
stenose0-49% 1.011e-07 9.891e+06 0.00000 Inf
stenose50-70% 2.637e-01 3.792e+00 0.01505 4.6215
stenose70-90% 6.234e-01 1.604e+00 0.07787 4.9903
stenose90-99% 4.765e-01 2.098e+00 0.05868 3.8703
stenose100% (Occlusion) NA NA NA NA
stenoseNA NA NA NA NA
stenose50-99% NA NA NA NA
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.714 (se = 0.029 )
Likelihood ratio test= 37 on 17 df, p=0.003
Wald test = 33.02 on 17 df, p=0.01
Score (logrank) test = 35.81 on 17 df, p=0.005
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: IL6_rank
Effect size...............: 0.130932
Standard error............: 0.257961
Odds ratio (effect size)..: 1.14
Lower 95% CI..............: 0.688
Upper 95% CI..............: 1.89
T-value...................: 0.507564
P-value...................: 0.6117595
Sample size in model......: 477
Number of events..........: 64
> processing [MCP1_rank]; 2 out of 5 proteins.
> cross tabulation of MCP1_rank-stratum.
[-2.41053,0.00444) [ 0.00444,3.12635]
283 282
> fitting the model for MCP1_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 509, number of events= 66
(1879 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] -3.049e-01 7.372e-01 2.532e-01 -1.204 0.2287
Age 3.571e-02 1.036e+00 1.769e-02 2.019 0.0435 *
Gendermale 7.112e-01 2.036e+00 3.367e-01 2.112 0.0347 *
Hypertension.compositeno -8.086e-01 4.455e-01 5.335e-01 -1.516 0.1296
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes 6.394e-01 1.895e+00 2.842e-01 2.250 0.0244 *
SmokerCurrentno -5.756e-01 5.624e-01 2.650e-01 -2.172 0.0299 *
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 2.742e-01 1.315e+00 2.847e-01 0.963 0.3356
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 3.447e-03 1.003e+00 4.203e-01 0.008 0.9935
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -9.214e-03 9.908e-01 6.629e-03 -1.390 0.1646
BMI 1.203e-02 1.012e+00 3.398e-02 0.354 0.7234
CAD_history 4.032e-01 1.497e+00 2.681e-01 1.504 0.1326
Stroke_history 2.966e-01 1.345e+00 2.596e-01 1.142 0.2533
Peripheral.interv 1.347e-01 1.144e+00 3.143e-01 0.429 0.6682
stenose0-49% -1.653e+01 6.613e-08 3.378e+03 -0.005 0.9961
stenose50-70% -1.817e+00 1.625e-01 1.455e+00 -1.249 0.2118
stenose70-90% -8.410e-01 4.313e-01 1.052e+00 -0.799 0.4240
stenose90-99% -1.061e+00 3.461e-01 1.061e+00 -1.000 0.3172
stenose100% (Occlusion) NA NA 0.000e+00 NA NA
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% NA NA 0.000e+00 NA NA
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 7.372e-01 1.356e+00 0.448785 1.2111
Age 1.036e+00 9.649e-01 1.001040 1.0729
Gendermale 2.036e+00 4.911e-01 1.052586 3.9395
Hypertension.compositeno 4.455e-01 2.245e+00 0.156588 1.2674
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 1.895e+00 5.276e-01 1.085923 3.3081
SmokerCurrentno 5.624e-01 1.778e+00 0.334542 0.9454
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.315e+00 7.602e-01 0.752853 2.2986
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.003e+00 9.966e-01 0.440301 2.2869
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.908e-01 1.009e+00 0.978038 1.0038
BMI 1.012e+00 9.880e-01 0.946891 1.0818
CAD_history 1.497e+00 6.682e-01 0.884884 2.5311
Stroke_history 1.345e+00 7.434e-01 0.808757 2.2376
Peripheral.interv 1.144e+00 8.740e-01 0.617943 2.1187
stenose0-49% 6.613e-08 1.512e+07 0.000000 Inf
stenose50-70% 1.625e-01 6.155e+00 0.009373 2.8157
stenose70-90% 4.313e-01 2.319e+00 0.054876 3.3897
stenose90-99% 3.461e-01 2.889e+00 0.043283 2.7680
stenose100% (Occlusion) NA NA NA NA
stenoseNA NA NA NA NA
stenose50-99% NA NA NA NA
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.7 (se = 0.028 )
Likelihood ratio test= 35.01 on 17 df, p=0.006
Wald test = 31.02 on 17 df, p=0.02
Score (logrank) test = 33.48 on 17 df, p=0.01
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: MCP1_rank
Effect size...............: -0.304862
Standard error............: 0.253245
Odds ratio (effect size)..: 0.737
Lower 95% CI..............: 0.449
Upper 95% CI..............: 1.211
T-value...................: -1.203825
P-value...................: 0.2286573
Sample size in model......: 509
Number of events..........: 66
> processing [IL6_pg_ug_2015_rank]; 3 out of 5 proteins.
> cross tabulation of IL6_pg_ug_2015_rank-stratum.
[-3.33061,0.00109) [ 0.00109,3.33061]
577 577
> fitting the model for IL6_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1002, number of events= 114
(1386 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 9.097e-02 1.095e+00 1.899e-01 0.479 0.631870
Age 3.856e-02 1.039e+00 1.296e-02 2.975 0.002927 **
Gendermale 5.730e-01 1.774e+00 2.310e-01 2.481 0.013107 *
Hypertension.compositeno -5.174e-01 5.961e-01 3.773e-01 -1.371 0.170285
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -4.403e-02 9.569e-01 2.233e-01 -0.197 0.843644
SmokerCurrentno -6.023e-01 5.475e-01 2.046e-01 -2.944 0.003240 **
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 3.369e-01 1.401e+00 2.175e-01 1.549 0.121332
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 4.026e-01 1.496e+00 2.586e-01 1.557 0.119528
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -1.899e-02 9.812e-01 4.977e-03 -3.815 0.000136 ***
BMI 5.747e-02 1.059e+00 2.597e-02 2.213 0.026905 *
CAD_history 1.411e-01 1.152e+00 2.032e-01 0.695 0.487257
Stroke_history 4.304e-02 1.044e+00 2.028e-01 0.212 0.831900
Peripheral.interv 6.318e-01 1.881e+00 2.183e-01 2.894 0.003802 **
stenose0-49% -1.561e+01 1.659e-07 2.745e+03 -0.006 0.995462
stenose50-70% -8.519e-01 4.266e-01 8.692e-01 -0.980 0.326998
stenose70-90% -2.953e-01 7.443e-01 7.264e-01 -0.406 0.684395
stenose90-99% -2.722e-01 7.617e-01 7.236e-01 -0.376 0.706782
stenose100% (Occlusion) 4.662e-02 1.048e+00 1.239e+00 0.038 0.969996
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% -1.539e+01 2.069e-07 4.208e+03 -0.004 0.997082
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 1.095e+00 9.130e-01 0.75490 1.5890
Age 1.039e+00 9.622e-01 1.01325 1.0660
Gendermale 1.774e+00 5.638e-01 1.12785 2.7890
Hypertension.compositeno 5.961e-01 1.678e+00 0.28453 1.2487
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 9.569e-01 1.045e+00 0.61778 1.4822
SmokerCurrentno 5.475e-01 1.826e+00 0.36664 0.8176
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.401e+00 7.140e-01 0.91454 2.1451
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.496e+00 6.686e-01 0.90098 2.4831
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.812e-01 1.019e+00 0.97167 0.9908
BMI 1.059e+00 9.442e-01 1.00659 1.1145
CAD_history 1.152e+00 8.684e-01 0.77330 1.7150
Stroke_history 1.044e+00 9.579e-01 0.70161 1.5534
Peripheral.interv 1.881e+00 5.316e-01 1.22621 2.8853
stenose0-49% 1.659e-07 6.027e+06 0.00000 Inf
stenose50-70% 4.266e-01 2.344e+00 0.07765 2.3434
stenose70-90% 7.443e-01 1.343e+00 0.17924 3.0909
stenose90-99% 7.617e-01 1.313e+00 0.18446 3.1454
stenose100% (Occlusion) 1.048e+00 9.545e-01 0.09231 11.8918
stenoseNA NA NA NA NA
stenose50-99% 2.069e-07 4.833e+06 0.00000 Inf
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.705 (se = 0.023 )
Likelihood ratio test= 68.36 on 19 df, p=2e-07
Wald test = 38.72 on 19 df, p=0.005
Score (logrank) test = 66.86 on 19 df, p=3e-07
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: IL6_pg_ug_2015_rank
Effect size...............: 0.090966
Standard error............: 0.189871
Odds ratio (effect size)..: 1.095
Lower 95% CI..............: 0.755
Upper 95% CI..............: 1.589
T-value...................: 0.479096
P-value...................: 0.6318701
Sample size in model......: 1002
Number of events..........: 114
> processing [IL6R_pg_ug_2015_rank]; 4 out of 5 proteins.
> cross tabulation of IL6R_pg_ug_2015_rank-stratum.
[-3.33109,0.00108) [ 0.00108,3.33109]
578 578
> fitting the model for IL6R_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1006, number of events= 119
(1382 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 3.149e-01 1.370e+00 1.929e-01 1.633 0.102540
Age 3.419e-02 1.035e+00 1.261e-02 2.711 0.006713 **
Gendermale 4.342e-01 1.544e+00 2.199e-01 1.974 0.048335 *
Hypertension.compositeno -4.432e-01 6.420e-01 3.576e-01 -1.239 0.215200
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -5.992e-02 9.418e-01 2.208e-01 -0.271 0.786088
SmokerCurrentno -5.022e-01 6.052e-01 2.014e-01 -2.493 0.012653 *
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 2.893e-01 1.336e+00 2.159e-01 1.340 0.180144
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 3.779e-01 1.459e+00 2.578e-01 1.466 0.142612
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -1.788e-02 9.823e-01 4.918e-03 -3.635 0.000278 ***
BMI 5.699e-02 1.059e+00 2.656e-02 2.146 0.031874 *
CAD_history 1.903e-01 1.210e+00 1.989e-01 0.956 0.338836
Stroke_history 3.055e-02 1.031e+00 1.974e-01 0.155 0.876999
Peripheral.interv 5.619e-01 1.754e+00 2.131e-01 2.637 0.008368 **
stenose0-49% -1.540e+01 2.045e-07 3.123e+03 -0.005 0.996065
stenose50-70% -8.794e-01 4.150e-01 8.686e-01 -1.012 0.311330
stenose70-90% -3.666e-01 6.931e-01 7.269e-01 -0.504 0.613981
stenose90-99% -3.659e-01 6.936e-01 7.256e-01 -0.504 0.614096
stenose100% (Occlusion) -5.671e-02 9.449e-01 1.238e+00 -0.046 0.963452
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% -1.519e+01 2.528e-07 2.805e+03 -0.005 0.995679
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 1.370e+00 7.299e-01 0.93882 1.9996
Age 1.035e+00 9.664e-01 1.00951 1.0607
Gendermale 1.544e+00 6.478e-01 1.00318 2.3753
Hypertension.compositeno 6.420e-01 1.558e+00 0.31849 1.2939
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 9.418e-01 1.062e+00 0.61101 1.4518
SmokerCurrentno 6.052e-01 1.652e+00 0.40784 0.8981
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.336e+00 7.488e-01 0.87479 2.0390
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.459e+00 6.853e-01 0.88047 2.4185
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.823e-01 1.018e+00 0.97286 0.9918
BMI 1.059e+00 9.446e-01 1.00495 1.1152
CAD_history 1.210e+00 8.267e-01 0.81904 1.7863
Stroke_history 1.031e+00 9.699e-01 0.70028 1.5180
Peripheral.interv 1.754e+00 5.701e-01 1.15517 2.6634
stenose0-49% 2.045e-07 4.889e+06 0.00000 Inf
stenose50-70% 4.150e-01 2.409e+00 0.07564 2.2773
stenose70-90% 6.931e-01 1.443e+00 0.16675 2.8806
stenose90-99% 6.936e-01 1.442e+00 0.16730 2.8756
stenose100% (Occlusion) 9.449e-01 1.058e+00 0.08354 10.6868
stenoseNA NA NA NA NA
stenose50-99% 2.528e-07 3.956e+06 0.00000 Inf
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.694 (se = 0.023 )
Likelihood ratio test= 64.3 on 19 df, p=8e-07
Wald test = 60.58 on 19 df, p=3e-06
Score (logrank) test = 64.14 on 19 df, p=8e-07
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6R_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: IL6R_pg_ug_2015_rank
Effect size...............: 0.314907
Standard error............: 0.19288
Odds ratio (effect size)..: 1.37
Lower 95% CI..............: 0.939
Upper 95% CI..............: 2
T-value...................: 1.632661
P-value...................: 0.1025404
Sample size in model......: 1006
Number of events..........: 119
> processing [MCP1_pg_ug_2015_rank]; 5 out of 5 proteins.
> cross tabulation of MCP1_pg_ug_2015_rank-stratum.
[-3.34148,0.00104) [ 0.00104,3.34148]
600 600
> fitting the model for MCP1_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1044, number of events= 120
(1344 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 1.748e-01 1.191e+00 1.860e-01 0.940 0.34727
Age 3.379e-02 1.034e+00 1.249e-02 2.704 0.00684 **
Gendermale 4.474e-01 1.564e+00 2.179e-01 2.053 0.04006 *
Hypertension.compositeno -4.648e-01 6.283e-01 3.578e-01 -1.299 0.19387
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -4.790e-02 9.532e-01 2.188e-01 -0.219 0.82676
SmokerCurrentno -5.109e-01 6.000e-01 2.003e-01 -2.550 0.01076 *
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 3.401e-01 1.405e+00 2.130e-01 1.597 0.11036
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 3.623e-01 1.437e+00 2.571e-01 1.409 0.15872
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -1.979e-02 9.804e-01 4.879e-03 -4.056 4.99e-05 ***
BMI 5.687e-02 1.059e+00 2.555e-02 2.226 0.02603 *
CAD_history 1.679e-01 1.183e+00 1.979e-01 0.848 0.39636
Stroke_history 3.892e-02 1.040e+00 1.978e-01 0.197 0.84402
Peripheral.interv 5.626e-01 1.755e+00 2.131e-01 2.641 0.00827 **
stenose0-49% -1.548e+01 1.894e-07 2.739e+03 -0.006 0.99549
stenose50-70% -8.329e-01 4.348e-01 8.698e-01 -0.958 0.33825
stenose70-90% -2.432e-01 7.841e-01 7.270e-01 -0.334 0.73803
stenose90-99% -1.974e-01 8.209e-01 7.252e-01 -0.272 0.78546
stenose100% (Occlusion) 1.205e-01 1.128e+00 1.242e+00 0.097 0.92272
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% -1.518e+01 2.560e-07 2.870e+03 -0.005 0.99578
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 1.191e+00 8.396e-01 0.82721 1.7148
Age 1.034e+00 9.668e-01 1.00934 1.0600
Gendermale 1.564e+00 6.393e-01 1.02051 2.3975
Hypertension.compositeno 6.283e-01 1.592e+00 0.31162 1.2667
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 9.532e-01 1.049e+00 0.62075 1.4638
SmokerCurrentno 6.000e-01 1.667e+00 0.40514 0.8884
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.405e+00 7.117e-01 0.92552 2.1331
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.437e+00 6.961e-01 0.86802 2.3778
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.804e-01 1.020e+00 0.97107 0.9898
BMI 1.059e+00 9.447e-01 1.00681 1.1129
CAD_history 1.183e+00 8.455e-01 0.80247 1.7433
Stroke_history 1.040e+00 9.618e-01 0.70553 1.5321
Peripheral.interv 1.755e+00 5.697e-01 1.15608 2.6651
stenose0-49% 1.894e-07 5.281e+06 0.00000 Inf
stenose50-70% 4.348e-01 2.300e+00 0.07905 2.3912
stenose70-90% 7.841e-01 1.275e+00 0.18860 3.2602
stenose90-99% 8.209e-01 1.218e+00 0.19814 3.4007
stenose100% (Occlusion) 1.128e+00 8.865e-01 0.09893 12.8612
stenoseNA NA NA NA NA
stenose50-99% 2.560e-07 3.906e+06 0.00000 Inf
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.696 (se = 0.023 )
Likelihood ratio test= 65.33 on 19 df, p=5e-07
Wald test = 60.85 on 19 df, p=3e-06
Score (logrank) test = 63.96 on 19 df, p=9e-07
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epmajor.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epmajor.3years
Protein...................: MCP1_pg_ug_2015_rank
Effect size...............: 0.174792
Standard error............: 0.185968
Odds ratio (effect size)..: 1.191
Lower 95% CI..............: 0.827
Upper 95% CI..............: 1.715
T-value...................: 0.939904
P-value...................: 0.3472667
Sample size in model......: 1044
Number of events..........: 120
* Analyzing the effect of plaque proteins on [epstroke.3years].
- creating temporary SE for this work.
- making a 'Surv' object and adding this to temporary dataframe.
- making strata of each of the plaque proteins and start survival analysis.
> processing [IL6_rank]; 1 out of 5 proteins.
> cross tabulation of IL6_rank-stratum.
[-1.48329,0.00474) [ 0.00474,3.10694]
265 264
> fitting the model for IL6_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 477, number of events= 32
(1911 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 2.472e-02 1.025e+00 3.648e-01 0.068 0.946
Age 3.546e-02 1.036e+00 2.467e-02 1.438 0.151
Gendermale 3.450e-02 1.035e+00 4.022e-01 0.086 0.932
Hypertension.compositeno -7.437e-01 4.754e-01 7.516e-01 -0.990 0.322
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes 5.315e-01 1.701e+00 4.207e-01 1.263 0.206
SmokerCurrentno -5.350e-01 5.857e-01 3.815e-01 -1.402 0.161
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno -2.487e-02 9.754e-01 4.179e-01 -0.060 0.953
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 3.103e-01 1.364e+00 5.848e-01 0.531 0.596
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -8.165e-04 9.992e-01 9.773e-03 -0.084 0.933
BMI -1.288e-02 9.872e-01 4.814e-02 -0.268 0.789
CAD_history 2.559e-01 1.292e+00 3.977e-01 0.643 0.520
Stroke_history 3.207e-01 1.378e+00 3.689e-01 0.869 0.385
Peripheral.interv -5.758e-01 5.622e-01 5.473e-01 -1.052 0.293
stenose0-49% -1.810e+01 1.377e-08 1.222e+04 -0.001 0.999
stenose50-70% -1.785e+01 1.766e-08 4.805e+03 -0.004 0.997
stenose70-90% -8.478e-01 4.283e-01 1.142e+00 -0.742 0.458
stenose90-99% -9.721e-01 3.783e-01 1.153e+00 -0.843 0.399
stenose100% (Occlusion) NA NA 0.000e+00 NA NA
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% NA NA 0.000e+00 NA NA
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 1.025e+00 9.756e-01 0.50142 2.095
Age 1.036e+00 9.652e-01 0.98720 1.087
Gendermale 1.035e+00 9.661e-01 0.47054 2.277
Hypertension.compositeno 4.754e-01 2.104e+00 0.10897 2.074
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 1.701e+00 5.877e-01 0.74601 3.881
SmokerCurrentno 5.857e-01 1.708e+00 0.27727 1.237
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 9.754e-01 1.025e+00 0.43002 2.213
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.364e+00 7.332e-01 0.43347 4.291
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.992e-01 1.001e+00 0.98023 1.019
BMI 9.872e-01 1.013e+00 0.89831 1.085
CAD_history 1.292e+00 7.742e-01 0.59235 2.816
Stroke_history 1.378e+00 7.256e-01 0.66875 2.840
Peripheral.interv 5.622e-01 1.779e+00 0.19233 1.644
stenose0-49% 1.377e-08 7.260e+07 0.00000 Inf
stenose50-70% 1.766e-08 5.662e+07 0.00000 Inf
stenose70-90% 4.283e-01 2.335e+00 0.04564 4.020
stenose90-99% 3.783e-01 2.643e+00 0.03946 3.627
stenose100% (Occlusion) NA NA NA NA
stenoseNA NA NA NA NA
stenose50-99% NA NA NA NA
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.712 (se = 0.04 )
Likelihood ratio test= 13.18 on 17 df, p=0.7
Wald test = 9.66 on 17 df, p=0.9
Score (logrank) test = 11.9 on 17 df, p=0.8
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: IL6_rank
Effect size...............: 0.024717
Standard error............: 0.364815
Odds ratio (effect size)..: 1.025
Lower 95% CI..............: 0.501
Upper 95% CI..............: 2.095
T-value...................: 0.067752
P-value...................: 0.9459834
Sample size in model......: 477
Number of events..........: 32
> processing [MCP1_rank]; 2 out of 5 proteins.
> cross tabulation of MCP1_rank-stratum.
[-2.41053,0.00444) [ 0.00444,3.12635]
283 282
> fitting the model for MCP1_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 509, number of events= 33
(1879 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] -4.721e-01 6.237e-01 3.625e-01 -1.302 0.193
Age 2.320e-02 1.023e+00 2.358e-02 0.984 0.325
Gendermale 6.449e-02 1.067e+00 3.990e-01 0.162 0.872
Hypertension.compositeno -8.685e-01 4.196e-01 7.492e-01 -1.159 0.246
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes 3.761e-01 1.457e+00 4.161e-01 0.904 0.366
SmokerCurrentno -4.557e-01 6.340e-01 3.760e-01 -1.212 0.226
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 4.243e-02 1.043e+00 4.107e-01 0.103 0.918
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 1.006e-01 1.106e+00 5.873e-01 0.171 0.864
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD 1.256e-03 1.001e+00 9.624e-03 0.130 0.896
BMI 1.816e-02 1.018e+00 4.546e-02 0.399 0.690
CAD_history 7.676e-02 1.080e+00 3.981e-01 0.193 0.847
Stroke_history 4.080e-01 1.504e+00 3.637e-01 1.122 0.262
Peripheral.interv -4.789e-01 6.195e-01 5.459e-01 -0.877 0.380
stenose0-49% -1.860e+01 8.342e-09 1.262e+04 -0.001 0.999
stenose50-70% -1.841e+01 1.006e-08 4.635e+03 -0.004 0.997
stenose70-90% -1.288e+00 2.757e-01 1.118e+00 -1.153 0.249
stenose90-99% -1.414e+00 2.433e-01 1.134e+00 -1.246 0.213
stenose100% (Occlusion) NA NA 0.000e+00 NA NA
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% NA NA 0.000e+00 NA NA
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 6.237e-01 1.603e+00 0.30651 1.269
Age 1.023e+00 9.771e-01 0.97724 1.072
Gendermale 1.067e+00 9.375e-01 0.48793 2.332
Hypertension.compositeno 4.196e-01 2.383e+00 0.09662 1.822
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 1.457e+00 6.865e-01 0.64443 3.292
SmokerCurrentno 6.340e-01 1.577e+00 0.30344 1.325
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.043e+00 9.585e-01 0.46651 2.333
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.106e+00 9.043e-01 0.34980 3.496
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 1.001e+00 9.987e-01 0.98255 1.020
BMI 1.018e+00 9.820e-01 0.93151 1.113
CAD_history 1.080e+00 9.261e-01 0.49485 2.356
Stroke_history 1.504e+00 6.650e-01 0.73718 3.068
Peripheral.interv 6.195e-01 1.614e+00 0.21250 1.806
stenose0-49% 8.342e-09 1.199e+08 0.00000 Inf
stenose50-70% 1.006e-08 9.940e+07 0.00000 Inf
stenose70-90% 2.757e-01 3.627e+00 0.03082 2.466
stenose90-99% 2.433e-01 4.110e+00 0.02633 2.248
stenose100% (Occlusion) NA NA NA NA
stenoseNA NA NA NA NA
stenose50-99% NA NA NA NA
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.687 (se = 0.042 )
Likelihood ratio test= 13.23 on 17 df, p=0.7
Wald test = 10.29 on 17 df, p=0.9
Score (logrank) test = 12.25 on 17 df, p=0.8
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: MCP1_rank
Effect size...............: -0.472091
Standard error............: 0.36246
Odds ratio (effect size)..: 0.624
Lower 95% CI..............: 0.307
Upper 95% CI..............: 1.269
T-value...................: -1.302464
P-value...................: 0.1927578
Sample size in model......: 509
Number of events..........: 33
> processing [IL6_pg_ug_2015_rank]; 3 out of 5 proteins.
> cross tabulation of IL6_pg_ug_2015_rank-stratum.
[-3.33061,0.00109) [ 0.00109,3.33061]
577 577
> fitting the model for IL6_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1002, number of events= 58
(1386 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] -1.438e-01 8.660e-01 2.656e-01 -0.541 0.58818
Age 5.026e-02 1.052e+00 1.793e-02 2.803 0.00506 **
Gendermale 2.919e-01 1.339e+00 3.000e-01 0.973 0.33043
Hypertension.compositeno -2.080e-01 8.122e-01 4.442e-01 -0.468 0.63956
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -6.073e-02 9.411e-01 3.197e-01 -0.190 0.84935
SmokerCurrentno -3.427e-01 7.098e-01 2.939e-01 -1.166 0.24358
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 3.978e-01 1.488e+00 2.912e-01 1.366 0.17192
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 3.468e-01 1.414e+00 3.748e-01 0.925 0.35485
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -5.639e-03 9.944e-01 7.004e-03 -0.805 0.42078
BMI 9.236e-02 1.097e+00 3.357e-02 2.751 0.00593 **
CAD_history -5.750e-01 5.627e-01 3.288e-01 -1.749 0.08031 .
Stroke_history 3.241e-01 1.383e+00 2.748e-01 1.179 0.23826
Peripheral.interv 4.887e-01 1.630e+00 3.276e-01 1.492 0.13578
stenose0-49% -1.559e+01 1.699e-07 3.740e+03 -0.004 0.99667
stenose50-70% -5.898e-01 5.544e-01 1.159e+00 -0.509 0.61097
stenose70-90% -3.521e-01 7.032e-01 1.025e+00 -0.343 0.73127
stenose90-99% -3.578e-01 6.992e-01 1.024e+00 -0.349 0.72672
stenose100% (Occlusion) 3.875e-01 1.473e+00 1.439e+00 0.269 0.78767
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% -1.537e+01 2.109e-07 5.615e+03 -0.003 0.99782
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 8.660e-01 1.155e+00 0.51454 1.458
Age 1.052e+00 9.510e-01 1.01523 1.089
Gendermale 1.339e+00 7.468e-01 0.74380 2.411
Hypertension.compositeno 8.122e-01 1.231e+00 0.34009 1.940
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 9.411e-01 1.063e+00 0.50289 1.761
SmokerCurrentno 7.098e-01 1.409e+00 0.39898 1.263
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.488e+00 6.718e-01 0.84120 2.634
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.414e+00 7.070e-01 0.67854 2.949
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.944e-01 1.006e+00 0.98082 1.008
BMI 1.097e+00 9.118e-01 1.02692 1.171
CAD_history 5.627e-01 1.777e+00 0.29542 1.072
Stroke_history 1.383e+00 7.232e-01 0.80691 2.370
Peripheral.interv 1.630e+00 6.134e-01 0.85779 3.098
stenose0-49% 1.699e-07 5.887e+06 0.00000 Inf
stenose50-70% 5.544e-01 1.804e+00 0.05713 5.380
stenose70-90% 7.032e-01 1.422e+00 0.09429 5.245
stenose90-99% 6.992e-01 1.430e+00 0.09401 5.200
stenose100% (Occlusion) 1.473e+00 6.788e-01 0.08784 24.711
stenoseNA NA NA NA NA
stenose50-99% 2.109e-07 4.742e+06 0.00000 Inf
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.682 (se = 0.036 )
Likelihood ratio test= 27.19 on 19 df, p=0.1
Wald test = 22.76 on 19 df, p=0.2
Score (logrank) test = 26.28 on 19 df, p=0.1
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: IL6_pg_ug_2015_rank
Effect size...............: -0.143835
Standard error............: 0.265636
Odds ratio (effect size)..: 0.866
Lower 95% CI..............: 0.515
Upper 95% CI..............: 1.458
T-value...................: -0.541475
P-value...................: 0.5881802
Sample size in model......: 1002
Number of events..........: 58
> processing [IL6R_pg_ug_2015_rank]; 4 out of 5 proteins.
> cross tabulation of IL6R_pg_ug_2015_rank-stratum.
[-3.33109,0.00108) [ 0.00108,3.33109]
578 578
> fitting the model for IL6R_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1006, number of events= 61
(1382 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 9.097e-02 1.095e+00 2.649e-01 0.343 0.73127
Age 4.173e-02 1.043e+00 1.733e-02 2.408 0.01603 *
Gendermale 2.095e-01 1.233e+00 2.916e-01 0.719 0.47243
Hypertension.compositeno -1.100e-01 8.958e-01 4.146e-01 -0.265 0.79079
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -9.138e-02 9.127e-01 3.159e-01 -0.289 0.77242
SmokerCurrentno -1.889e-01 8.279e-01 2.901e-01 -0.651 0.51499
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 4.222e-01 1.525e+00 2.868e-01 1.472 0.14104
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 3.050e-01 1.357e+00 3.718e-01 0.820 0.41197
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -3.051e-03 9.970e-01 7.024e-03 -0.434 0.66402
BMI 9.994e-02 1.105e+00 3.516e-02 2.842 0.00448 **
CAD_history -4.477e-01 6.391e-01 3.134e-01 -1.429 0.15306
Stroke_history 3.724e-01 1.451e+00 2.649e-01 1.406 0.15973
Peripheral.interv 5.374e-01 1.712e+00 3.163e-01 1.699 0.08937 .
stenose0-49% -1.514e+01 2.649e-07 4.536e+03 -0.003 0.99734
stenose50-70% -6.162e-01 5.400e-01 1.159e+00 -0.532 0.59478
stenose70-90% -3.140e-01 7.305e-01 1.023e+00 -0.307 0.75884
stenose90-99% -4.118e-01 6.625e-01 1.025e+00 -0.402 0.68783
stenose100% (Occlusion) 3.763e-01 1.457e+00 1.435e+00 0.262 0.79312
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% -1.530e+01 2.262e-07 3.904e+03 -0.004 0.99687
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 1.095e+00 9.130e-01 0.65167 1.841
Age 1.043e+00 9.591e-01 1.00780 1.079
Gendermale 1.233e+00 8.110e-01 0.69627 2.184
Hypertension.compositeno 8.958e-01 1.116e+00 0.39748 2.019
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 9.127e-01 1.096e+00 0.49134 1.695
SmokerCurrentno 8.279e-01 1.208e+00 0.46886 1.462
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.525e+00 6.556e-01 0.86938 2.676
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.357e+00 7.371e-01 0.65464 2.812
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.970e-01 1.003e+00 0.98332 1.011
BMI 1.105e+00 9.049e-01 1.03152 1.184
CAD_history 6.391e-01 1.565e+00 0.34580 1.181
Stroke_history 1.451e+00 6.891e-01 0.86351 2.439
Peripheral.interv 1.712e+00 5.843e-01 0.92068 3.182
stenose0-49% 2.649e-07 3.775e+06 0.00000 Inf
stenose50-70% 5.400e-01 1.852e+00 0.05575 5.230
stenose70-90% 7.305e-01 1.369e+00 0.09839 5.424
stenose90-99% 6.625e-01 1.510e+00 0.08888 4.938
stenose100% (Occlusion) 1.457e+00 6.864e-01 0.08754 24.245
stenoseNA NA NA NA NA
stenose50-99% 2.262e-07 4.421e+06 0.00000 Inf
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.669 (se = 0.037 )
Likelihood ratio test= 24.74 on 19 df, p=0.2
Wald test = 22.97 on 19 df, p=0.2
Score (logrank) test = 24.39 on 19 df, p=0.2
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6R_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: IL6R_pg_ug_2015_rank
Effect size...............: 0.090975
Standard error............: 0.264899
Odds ratio (effect size)..: 1.095
Lower 95% CI..............: 0.652
Upper 95% CI..............: 1.841
T-value...................: 0.343431
P-value...................: 0.731274
Sample size in model......: 1006
Number of events..........: 61
> processing [MCP1_pg_ug_2015_rank]; 5 out of 5 proteins.
> cross tabulation of MCP1_pg_ug_2015_rank-stratum.
[-3.34148,0.00104) [ 0.00104,3.34148]
600 600
> fitting the model for MCP1_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1044, number of events= 62
(1344 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 1.163e-01 1.123e+00 2.615e-01 0.445 0.6566
Age 4.236e-02 1.043e+00 1.715e-02 2.470 0.0135 *
Gendermale 2.109e-01 1.235e+00 2.871e-01 0.734 0.4627
Hypertension.compositeno -1.076e-01 8.980e-01 4.149e-01 -0.259 0.7954
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -4.084e-02 9.600e-01 3.103e-01 -0.132 0.8953
SmokerCurrentno -1.804e-01 8.349e-01 2.888e-01 -0.625 0.5322
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 4.214e-01 1.524e+00 2.823e-01 1.493 0.1355
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 2.868e-01 1.332e+00 3.711e-01 0.773 0.4396
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -5.616e-03 9.944e-01 6.832e-03 -0.822 0.4111
BMI 9.215e-02 1.097e+00 3.244e-02 2.841 0.0045 **
CAD_history -4.624e-01 6.298e-01 3.106e-01 -1.489 0.1366
Stroke_history 3.497e-01 1.419e+00 2.651e-01 1.319 0.1871
Peripheral.interv 4.865e-01 1.627e+00 3.152e-01 1.544 0.1227
stenose0-49% -1.547e+01 1.920e-07 3.676e+03 -0.004 0.9966
stenose50-70% -5.939e-01 5.522e-01 1.159e+00 -0.512 0.6085
stenose70-90% -2.858e-01 7.514e-01 1.025e+00 -0.279 0.7803
stenose90-99% -3.216e-01 7.250e-01 1.026e+00 -0.313 0.7541
stenose100% (Occlusion) 4.722e-01 1.604e+00 1.441e+00 0.328 0.7431
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% -1.528e+01 2.307e-07 3.934e+03 -0.004 0.9969
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 1.123e+00 8.902e-01 0.67282 1.875
Age 1.043e+00 9.585e-01 1.00878 1.079
Gendermale 1.235e+00 8.099e-01 0.70336 2.168
Hypertension.compositeno 8.980e-01 1.114e+00 0.39817 2.025
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 9.600e-01 1.042e+00 0.52254 1.764
SmokerCurrentno 8.349e-01 1.198e+00 0.47408 1.471
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.524e+00 6.562e-01 0.87646 2.650
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.332e+00 7.507e-01 0.64369 2.757
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.944e-01 1.006e+00 0.98117 1.008
BMI 1.097e+00 9.120e-01 1.02898 1.169
CAD_history 6.298e-01 1.588e+00 0.34258 1.158
Stroke_history 1.419e+00 7.049e-01 0.84381 2.385
Peripheral.interv 1.627e+00 6.148e-01 0.87701 3.017
stenose0-49% 1.920e-07 5.208e+06 0.00000 Inf
stenose50-70% 5.522e-01 1.811e+00 0.05691 5.358
stenose70-90% 7.514e-01 1.331e+00 0.10089 5.597
stenose90-99% 7.250e-01 1.379e+00 0.09697 5.421
stenose100% (Occlusion) 1.604e+00 6.236e-01 0.09522 27.006
stenoseNA NA NA NA NA
stenose50-99% 2.307e-07 4.335e+06 0.00000 Inf
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.672 (se = 0.036 )
Likelihood ratio test= 25.52 on 19 df, p=0.1
Wald test = 23.76 on 19 df, p=0.2
Score (logrank) test = 25.03 on 19 df, p=0.2
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epstroke.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epstroke.3years
Protein...................: MCP1_pg_ug_2015_rank
Effect size...............: 0.116261
Standard error............: 0.261501
Odds ratio (effect size)..: 1.123
Lower 95% CI..............: 0.673
Upper 95% CI..............: 1.875
T-value...................: 0.444593
P-value...................: 0.6566139
Sample size in model......: 1044
Number of events..........: 62
* Analyzing the effect of plaque proteins on [epcoronary.3years].
- creating temporary SE for this work.
- making a 'Surv' object and adding this to temporary dataframe.
- making strata of each of the plaque proteins and start survival analysis.
> processing [IL6_rank]; 1 out of 5 proteins.
> cross tabulation of IL6_rank-stratum.
[-1.48329,0.00474) [ 0.00474,3.10694]
265 264
> fitting the model for IL6_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 477, number of events= 43
(1911 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 1.378e-01 1.148e+00 3.168e-01 0.435 0.6635
Age 4.680e-02 1.048e+00 2.288e-02 2.046 0.0408 *
Gendermale 8.433e-01 2.324e+00 4.519e-01 1.866 0.0620 .
Hypertension.compositeno -5.478e-01 5.782e-01 6.192e-01 -0.885 0.3763
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes 4.049e-01 1.499e+00 3.626e-01 1.117 0.2642
SmokerCurrentno -4.949e-01 6.097e-01 3.286e-01 -1.506 0.1321
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 9.778e-02 1.103e+00 3.667e-01 0.267 0.7897
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 3.919e-01 1.480e+00 4.544e-01 0.862 0.3885
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -7.231e-03 9.928e-01 8.598e-03 -0.841 0.4004
BMI 1.272e-02 1.013e+00 4.331e-02 0.294 0.7691
CAD_history 7.817e-01 2.185e+00 3.375e-01 2.316 0.0205 *
Stroke_history -2.712e-01 7.624e-01 3.572e-01 -0.759 0.4477
Peripheral.interv 3.803e-01 1.463e+00 3.575e-01 1.064 0.2874
stenose0-49% -8.465e-01 4.289e-01 8.354e+03 0.000 0.9999
stenose50-70% 1.550e+01 5.402e+06 4.119e+03 0.004 0.9970
stenose70-90% 1.589e+01 7.997e+06 4.119e+03 0.004 0.9969
stenose90-99% 1.577e+01 7.055e+06 4.119e+03 0.004 0.9969
stenose100% (Occlusion) NA NA 0.000e+00 NA NA
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% NA NA 0.000e+00 NA NA
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 1.148e+00 8.713e-01 0.6169 2.135
Age 1.048e+00 9.543e-01 1.0020 1.096
Gendermale 2.324e+00 4.303e-01 0.9584 5.635
Hypertension.compositeno 5.782e-01 1.729e+00 0.1718 1.946
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 1.499e+00 6.671e-01 0.7365 3.051
SmokerCurrentno 6.097e-01 1.640e+00 0.3201 1.161
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.103e+00 9.068e-01 0.5375 2.262
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.480e+00 6.758e-01 0.6073 3.605
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.928e-01 1.007e+00 0.9762 1.010
BMI 1.013e+00 9.874e-01 0.9304 1.103
CAD_history 2.185e+00 4.576e-01 1.1278 4.234
Stroke_history 7.624e-01 1.312e+00 0.3786 1.536
Peripheral.interv 1.463e+00 6.837e-01 0.7259 2.947
stenose0-49% 4.289e-01 2.332e+00 0.0000 Inf
stenose50-70% 5.402e+06 1.851e-07 0.0000 Inf
stenose70-90% 7.997e+06 1.251e-07 0.0000 Inf
stenose90-99% 7.055e+06 1.417e-07 0.0000 Inf
stenose100% (Occlusion) NA NA NA NA
stenoseNA NA NA NA NA
stenose50-99% NA NA NA NA
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.749 (se = 0.033 )
Likelihood ratio test= 31.57 on 17 df, p=0.02
Wald test = 24.09 on 17 df, p=0.1
Score (logrank) test = 32.09 on 17 df, p=0.01
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: IL6_rank
Effect size...............: 0.137818
Standard error............: 0.316752
Odds ratio (effect size)..: 1.148
Lower 95% CI..............: 0.617
Upper 95% CI..............: 2.135
T-value...................: 0.435097
P-value...................: 0.6634919
Sample size in model......: 477
Number of events..........: 43
> processing [MCP1_rank]; 2 out of 5 proteins.
> cross tabulation of MCP1_rank-stratum.
[-2.41053,0.00444) [ 0.00444,3.12635]
283 282
> fitting the model for MCP1_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 509, number of events= 44
(1879 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 2.557e-01 1.291e+00 3.158e-01 0.810 0.4182
Age 3.929e-02 1.040e+00 2.294e-02 1.713 0.0868 .
Gendermale 6.478e-01 1.911e+00 4.234e-01 1.530 0.1260
Hypertension.compositeno -2.496e-01 7.791e-01 5.535e-01 -0.451 0.6520
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes 5.175e-01 1.678e+00 3.489e-01 1.483 0.1381
SmokerCurrentno -5.444e-01 5.802e-01 3.229e-01 -1.686 0.0918 .
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 9.463e-02 1.099e+00 3.667e-01 0.258 0.7964
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 3.216e-01 1.379e+00 4.555e-01 0.706 0.4802
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -1.149e-02 9.886e-01 8.315e-03 -1.382 0.1669
BMI 2.137e-02 1.022e+00 4.270e-02 0.500 0.6168
CAD_history 7.843e-01 2.191e+00 3.274e-01 2.395 0.0166 *
Stroke_history -1.394e-01 8.699e-01 3.382e-01 -0.412 0.6803
Peripheral.interv 5.109e-01 1.667e+00 3.537e-01 1.445 0.1486
stenose0-49% -8.090e-01 4.453e-01 9.205e+03 0.000 0.9999
stenose50-70% 1.566e+01 6.305e+06 5.158e+03 0.003 0.9976
stenose70-90% 1.598e+01 8.730e+06 5.158e+03 0.003 0.9975
stenose90-99% 1.591e+01 8.127e+06 5.158e+03 0.003 0.9975
stenose100% (Occlusion) NA NA 0.000e+00 NA NA
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% NA NA 0.000e+00 NA NA
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 1.291e+00 7.744e-01 0.6954 2.398
Age 1.040e+00 9.615e-01 0.9943 1.088
Gendermale 1.911e+00 5.232e-01 0.8335 4.383
Hypertension.compositeno 7.791e-01 1.284e+00 0.2633 2.306
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 1.678e+00 5.960e-01 0.8467 3.325
SmokerCurrentno 5.802e-01 1.724e+00 0.3081 1.092
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.099e+00 9.097e-01 0.5357 2.256
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.379e+00 7.250e-01 0.5648 3.368
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.886e-01 1.012e+00 0.9726 1.005
BMI 1.022e+00 9.789e-01 0.9396 1.111
CAD_history 2.191e+00 4.565e-01 1.1532 4.162
Stroke_history 8.699e-01 1.150e+00 0.4483 1.688
Peripheral.interv 1.667e+00 6.000e-01 0.8333 3.334
stenose0-49% 4.453e-01 2.246e+00 0.0000 Inf
stenose50-70% 6.305e+06 1.586e-07 0.0000 Inf
stenose70-90% 8.730e+06 1.145e-07 0.0000 Inf
stenose90-99% 8.127e+06 1.230e-07 0.0000 Inf
stenose100% (Occlusion) NA NA NA NA
stenoseNA NA NA NA NA
stenose50-99% NA NA NA NA
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.731 (se = 0.036 )
Likelihood ratio test= 31 on 17 df, p=0.02
Wald test = 23.03 on 17 df, p=0.1
Score (logrank) test = 32.35 on 17 df, p=0.01
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: MCP1_rank
Effect size...............: 0.25569
Standard error............: 0.315832
Odds ratio (effect size)..: 1.291
Lower 95% CI..............: 0.695
Upper 95% CI..............: 2.398
T-value...................: 0.809576
P-value...................: 0.4181839
Sample size in model......: 509
Number of events..........: 44
> processing [IL6_pg_ug_2015_rank]; 3 out of 5 proteins.
> cross tabulation of IL6_pg_ug_2015_rank-stratum.
[-3.33061,0.00109) [ 0.00109,3.33061]
577 577
> fitting the model for IL6_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1002, number of events= 79
(1386 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 5.813e-02 1.060e+00 2.304e-01 0.252 0.80083
Age -3.043e-03 9.970e-01 1.510e-02 -0.201 0.84032
Gendermale 7.141e-01 2.042e+00 3.011e-01 2.372 0.01771 *
Hypertension.compositeno -7.882e-01 4.546e-01 5.252e-01 -1.501 0.13341
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -1.803e-01 8.351e-01 2.782e-01 -0.648 0.51711
SmokerCurrentno -5.750e-01 5.627e-01 2.428e-01 -2.369 0.01785 *
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 2.493e-01 1.283e+00 2.741e-01 0.909 0.36312
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 1.737e-01 1.190e+00 3.354e-01 0.518 0.60448
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -2.040e-02 9.798e-01 5.967e-03 -3.419 0.00063 ***
BMI 1.169e-02 1.012e+00 3.338e-02 0.350 0.72620
CAD_history 9.403e-01 2.561e+00 2.410e-01 3.901 9.56e-05 ***
Stroke_history -1.024e-01 9.027e-01 2.526e-01 -0.405 0.68527
Peripheral.interv 4.301e-01 1.537e+00 2.613e-01 1.646 0.09979 .
stenose0-49% -1.581e+01 1.357e-07 3.608e+03 -0.004 0.99650
stenose50-70% -1.055e+00 3.483e-01 1.233e+00 -0.856 0.39220
stenose70-90% -1.716e-02 9.830e-01 1.022e+00 -0.017 0.98661
stenose90-99% -1.699e-01 8.437e-01 1.022e+00 -0.166 0.86794
stenose100% (Occlusion) -1.551e+01 1.841e-07 3.150e+03 -0.005 0.99607
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% 1.291e+00 3.637e+00 1.459e+00 0.885 0.37628
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 1.060e+00 9.435e-01 0.67470 1.6649
Age 9.970e-01 1.003e+00 0.96789 1.0269
Gendermale 2.042e+00 4.896e-01 1.13195 3.6847
Hypertension.compositeno 4.546e-01 2.200e+00 0.16241 1.2727
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 8.351e-01 1.198e+00 0.48403 1.4407
SmokerCurrentno 5.627e-01 1.777e+00 0.34966 0.9055
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.283e+00 7.793e-01 0.74978 2.1959
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.190e+00 8.405e-01 0.61655 2.2958
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.798e-01 1.021e+00 0.96842 0.9913
BMI 1.012e+00 9.884e-01 0.94768 1.0802
CAD_history 2.561e+00 3.905e-01 1.59668 4.1070
Stroke_history 9.027e-01 1.108e+00 0.55019 1.4810
Peripheral.interv 1.537e+00 6.504e-01 0.92119 2.5661
stenose0-49% 1.357e-07 7.370e+06 0.00000 Inf
stenose50-70% 3.483e-01 2.871e+00 0.03108 3.9018
stenose70-90% 9.830e-01 1.017e+00 0.13256 7.2891
stenose90-99% 8.437e-01 1.185e+00 0.11388 6.2514
stenose100% (Occlusion) 1.841e-07 5.432e+06 0.00000 Inf
stenoseNA NA NA NA NA
stenose50-99% 3.637e+00 2.750e-01 0.20825 63.5179
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.738 (se = 0.027 )
Likelihood ratio test= 61.46 on 19 df, p=2e-06
Wald test = 60.06 on 19 df, p=4e-06
Score (logrank) test = 64.83 on 19 df, p=7e-07
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: IL6_pg_ug_2015_rank
Effect size...............: 0.058129
Standard error............: 0.230422
Odds ratio (effect size)..: 1.06
Lower 95% CI..............: 0.675
Upper 95% CI..............: 1.665
T-value...................: 0.252272
P-value...................: 0.8008308
Sample size in model......: 1002
Number of events..........: 79
> processing [IL6R_pg_ug_2015_rank]; 4 out of 5 proteins.
> cross tabulation of IL6R_pg_ug_2015_rank-stratum.
[-3.33109,0.00108) [ 0.00108,3.33109]
578 578
> fitting the model for IL6R_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1006, number of events= 81
(1382 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 3.112e-01 1.365e+00 2.338e-01 1.331 0.183175
Age -9.543e-04 9.990e-01 1.485e-02 -0.064 0.948766
Gendermale 5.574e-01 1.746e+00 2.851e-01 1.955 0.050527 .
Hypertension.compositeno -8.059e-01 4.467e-01 5.248e-01 -1.536 0.124600
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -1.867e-01 8.297e-01 2.766e-01 -0.675 0.499578
SmokerCurrentno -5.490e-01 5.775e-01 2.406e-01 -2.282 0.022506 *
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 1.850e-01 1.203e+00 2.751e-01 0.673 0.501211
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 2.059e-01 1.229e+00 3.353e-01 0.614 0.539303
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -2.060e-02 9.796e-01 5.884e-03 -3.501 0.000464 ***
BMI 7.733e-03 1.008e+00 3.365e-02 0.230 0.818252
CAD_history 9.287e-01 2.531e+00 2.382e-01 3.898 9.69e-05 ***
Stroke_history -1.891e-01 8.277e-01 2.508e-01 -0.754 0.450860
Peripheral.interv 3.230e-01 1.381e+00 2.580e-01 1.252 0.210705
stenose0-49% -1.552e+01 1.820e-07 3.417e+03 -0.005 0.996376
stenose50-70% -1.047e+00 3.509e-01 1.231e+00 -0.851 0.394713
stenose70-90% -1.764e-01 8.383e-01 1.023e+00 -0.172 0.863099
stenose90-99% -2.621e-01 7.694e-01 1.023e+00 -0.256 0.797760
stenose100% (Occlusion) -1.525e+01 2.383e-07 2.534e+03 -0.006 0.995199
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% 9.092e-01 2.482e+00 1.444e+00 0.629 0.529066
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 1.365e+00 7.325e-01 0.86324 2.1588
Age 9.990e-01 1.001e+00 0.97039 1.0286
Gendermale 1.746e+00 5.727e-01 0.99872 3.0529
Hypertension.compositeno 4.467e-01 2.239e+00 0.15970 1.2493
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 8.297e-01 1.205e+00 0.48248 1.4267
SmokerCurrentno 5.775e-01 1.732e+00 0.36039 0.9255
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.203e+00 8.311e-01 0.70178 2.0630
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.229e+00 8.140e-01 0.63674 2.3705
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.796e-01 1.021e+00 0.96838 0.9910
BMI 1.008e+00 9.923e-01 0.94344 1.0765
CAD_history 2.531e+00 3.951e-01 1.58689 4.0375
Stroke_history 8.277e-01 1.208e+00 0.50632 1.3531
Peripheral.interv 1.381e+00 7.240e-01 0.83296 2.2903
stenose0-49% 1.820e-07 5.495e+06 0.00000 Inf
stenose50-70% 3.509e-01 2.850e+00 0.03145 3.9140
stenose70-90% 8.383e-01 1.193e+00 0.11291 6.2240
stenose90-99% 7.694e-01 1.300e+00 0.10364 5.7124
stenose100% (Occlusion) 2.383e-07 4.196e+06 0.00000 Inf
stenoseNA NA NA NA NA
stenose50-99% 2.482e+00 4.028e-01 0.14633 42.1104
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.73 (se = 0.029 )
Likelihood ratio test= 60.73 on 19 df, p=3e-06
Wald test = 60.13 on 19 df, p=4e-06
Score (logrank) test = 63.68 on 19 df, p=1e-06
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6R_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: IL6R_pg_ug_2015_rank
Effect size...............: 0.311249
Standard error............: 0.233838
Odds ratio (effect size)..: 1.365
Lower 95% CI..............: 0.863
Upper 95% CI..............: 2.159
T-value...................: 1.331043
P-value...................: 0.1831749
Sample size in model......: 1006
Number of events..........: 81
> processing [MCP1_pg_ug_2015_rank]; 5 out of 5 proteins.
> cross tabulation of MCP1_pg_ug_2015_rank-stratum.
[-3.34148,0.00104) [ 0.00104,3.34148]
600 600
> fitting the model for MCP1_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1044, number of events= 81
(1344 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] -1.596e-02 9.842e-01 2.268e-01 -0.070 0.943890
Age -1.539e-03 9.985e-01 1.479e-02 -0.104 0.917138
Gendermale 6.124e-01 1.845e+00 2.852e-01 2.147 0.031760 *
Hypertension.compositeno -8.179e-01 4.414e-01 5.250e-01 -1.558 0.119285
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -2.171e-01 8.048e-01 2.764e-01 -0.785 0.432187
SmokerCurrentno -5.707e-01 5.651e-01 2.391e-01 -2.387 0.016980 *
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 2.564e-01 1.292e+00 2.724e-01 0.941 0.346513
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 1.932e-01 1.213e+00 3.346e-01 0.577 0.563740
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -2.177e-02 9.785e-01 5.897e-03 -3.691 0.000223 ***
BMI 9.025e-03 1.009e+00 3.301e-02 0.273 0.784560
CAD_history 9.195e-01 2.508e+00 2.377e-01 3.868 0.000110 ***
Stroke_history -1.476e-01 8.628e-01 2.513e-01 -0.587 0.556941
Peripheral.interv 3.358e-01 1.399e+00 2.589e-01 1.297 0.194621
stenose0-49% -1.549e+01 1.880e-07 3.028e+03 -0.005 0.995919
stenose50-70% -1.074e+00 3.417e-01 1.233e+00 -0.871 0.383723
stenose70-90% -1.110e-01 8.949e-01 1.023e+00 -0.109 0.913589
stenose90-99% -1.822e-01 8.334e-01 1.023e+00 -0.178 0.858652
stenose100% (Occlusion) -1.520e+01 2.509e-07 2.633e+03 -0.006 0.995394
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% 1.014e+00 2.758e+00 1.440e+00 0.705 0.481061
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 9.842e-01 1.016e+00 0.6310 1.5351
Age 9.985e-01 1.002e+00 0.9699 1.0278
Gendermale 1.845e+00 5.420e-01 1.0549 3.2265
Hypertension.compositeno 4.414e-01 2.266e+00 0.1577 1.2351
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 8.048e-01 1.242e+00 0.4682 1.3835
SmokerCurrentno 5.651e-01 1.770e+00 0.3537 0.9029
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.292e+00 7.738e-01 0.7577 2.2040
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.213e+00 8.244e-01 0.6296 2.3371
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.785e-01 1.022e+00 0.9672 0.9898
BMI 1.009e+00 9.910e-01 0.9458 1.0765
CAD_history 2.508e+00 3.987e-01 1.5740 3.9966
Stroke_history 8.628e-01 1.159e+00 0.5272 1.4119
Peripheral.interv 1.399e+00 7.147e-01 0.8423 2.3240
stenose0-49% 1.880e-07 5.318e+06 0.0000 Inf
stenose50-70% 3.417e-01 2.926e+00 0.0305 3.8279
stenose70-90% 8.949e-01 1.117e+00 0.1204 6.6502
stenose90-99% 8.334e-01 1.200e+00 0.1122 6.1898
stenose100% (Occlusion) 2.509e-07 3.986e+06 0.0000 Inf
stenoseNA NA NA NA NA
stenose50-99% 2.758e+00 3.626e-01 0.1641 46.3478
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.732 (se = 0.027 )
Likelihood ratio test= 60.47 on 19 df, p=3e-06
Wald test = 59.13 on 19 df, p=5e-06
Score (logrank) test = 62.13 on 19 df, p=2e-06
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcoronary.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcoronary.3years
Protein...................: MCP1_pg_ug_2015_rank
Effect size...............: -0.015964
Standard error............: 0.226816
Odds ratio (effect size)..: 0.984
Lower 95% CI..............: 0.631
Upper 95% CI..............: 1.535
T-value...................: -0.070382
P-value...................: 0.9438898
Sample size in model......: 1044
Number of events..........: 81
* Analyzing the effect of plaque proteins on [epcvdeath.3years].
- creating temporary SE for this work.
- making a 'Surv' object and adding this to temporary dataframe.
- making strata of each of the plaque proteins and start survival analysis.
> processing [IL6_rank]; 1 out of 5 proteins.
> cross tabulation of IL6_rank-stratum.
[-1.48329,0.00474) [ 0.00474,3.10694]
265 264
> fitting the model for IL6_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 477, number of events= 23
(1911 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] -9.187e-02 9.122e-01 4.309e-01 -0.213 0.8312
Age 6.195e-02 1.064e+00 3.229e-02 1.919 0.0550 .
Gendermale 6.438e-01 1.904e+00 5.718e-01 1.126 0.2602
Hypertension.compositeno -1.812e+01 1.351e-08 4.520e+03 -0.004 0.9968
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes 6.838e-01 1.981e+00 5.048e-01 1.354 0.1756
SmokerCurrentno -7.494e-01 4.726e-01 4.470e-01 -1.677 0.0936 .
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 6.669e-01 1.948e+00 4.697e-01 1.420 0.1556
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 5.143e-01 1.672e+00 6.467e-01 0.795 0.4265
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -1.130e-02 9.888e-01 1.115e-02 -1.014 0.3107
BMI 3.610e-02 1.037e+00 5.620e-02 0.642 0.5207
CAD_history 5.531e-01 1.739e+00 4.562e-01 1.212 0.2254
Stroke_history 1.645e-01 1.179e+00 4.525e-01 0.364 0.7162
Peripheral.interv 2.184e-01 1.244e+00 5.444e-01 0.401 0.6882
stenose0-49% -5.590e-01 5.718e-01 3.107e+04 0.000 1.0000
stenose50-70% 4.197e-01 1.521e+00 1.643e+04 0.000 1.0000
stenose70-90% 1.810e+01 7.291e+07 1.408e+04 0.001 0.9990
stenose90-99% 1.800e+01 6.555e+07 1.408e+04 0.001 0.9990
stenose100% (Occlusion) NA NA 0.000e+00 NA NA
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% NA NA 0.000e+00 NA NA
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00474,3.10694] 9.122e-01 1.096e+00 0.3920 2.123
Age 1.064e+00 9.399e-01 0.9987 1.133
Gendermale 1.904e+00 5.253e-01 0.6207 5.839
Hypertension.compositeno 1.351e-08 7.403e+07 0.0000 Inf
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 1.981e+00 5.047e-01 0.7366 5.329
SmokerCurrentno 4.726e-01 2.116e+00 0.1968 1.135
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.948e+00 5.133e-01 0.7760 4.892
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.672e+00 5.979e-01 0.4708 5.940
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.888e-01 1.011e+00 0.9674 1.011
BMI 1.037e+00 9.645e-01 0.9286 1.157
CAD_history 1.739e+00 5.752e-01 0.7110 4.251
Stroke_history 1.179e+00 8.483e-01 0.4856 2.861
Peripheral.interv 1.244e+00 8.038e-01 0.4280 3.616
stenose0-49% 5.718e-01 1.749e+00 0.0000 Inf
stenose50-70% 1.521e+00 6.573e-01 0.0000 Inf
stenose70-90% 7.291e+07 1.372e-08 0.0000 Inf
stenose90-99% 6.555e+07 1.526e-08 0.0000 Inf
stenose100% (Occlusion) NA NA NA NA
stenoseNA NA NA NA NA
stenose50-99% NA NA NA NA
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.791 (se = 0.041 )
Likelihood ratio test= 26.72 on 17 df, p=0.06
Wald test = 9.85 on 17 df, p=0.9
Score (logrank) test = 22.16 on 17 df, p=0.2
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: IL6_rank
Effect size...............: -0.091872
Standard error............: 0.430914
Odds ratio (effect size)..: 0.912
Lower 95% CI..............: 0.392
Upper 95% CI..............: 2.123
T-value...................: -0.213202
P-value...................: 0.8311691
Sample size in model......: 477
Number of events..........: 23
> processing [MCP1_rank]; 2 out of 5 proteins.
> cross tabulation of MCP1_rank-stratum.
[-2.41053,0.00444) [ 0.00444,3.12635]
283 282
> fitting the model for MCP1_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 509, number of events= 24
(1879 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] -1.771e-01 8.377e-01 4.270e-01 -0.415 0.6783
Age 5.662e-02 1.058e+00 3.156e-02 1.794 0.0728 .
Gendermale 6.642e-01 1.943e+00 5.609e-01 1.184 0.2364
Hypertension.compositeno -1.815e+01 1.310e-08 4.307e+03 -0.004 0.9966
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes 6.356e-01 1.888e+00 5.042e-01 1.261 0.2075
SmokerCurrentno -8.101e-01 4.448e-01 4.374e-01 -1.852 0.0640 .
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 6.893e-01 1.992e+00 4.646e-01 1.484 0.1379
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 2.638e-01 1.302e+00 6.552e-01 0.403 0.6872
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -2.066e-02 9.796e-01 1.089e-02 -1.897 0.0578 .
BMI 1.251e-02 1.013e+00 5.815e-02 0.215 0.8296
CAD_history 2.554e-01 1.291e+00 4.455e-01 0.573 0.5665
Stroke_history 2.185e-01 1.244e+00 4.350e-01 0.502 0.6154
Peripheral.interv 5.211e-01 1.684e+00 5.060e-01 1.030 0.3031
stenose0-49% -7.104e-01 4.914e-01 3.570e+04 0.000 1.0000
stenose50-70% 3.764e-01 1.457e+00 2.096e+04 0.000 1.0000
stenose70-90% 1.826e+01 8.550e+07 1.922e+04 0.001 0.9992
stenose90-99% 1.805e+01 6.936e+07 1.922e+04 0.001 0.9993
stenose100% (Occlusion) NA NA 0.000e+00 NA NA
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% NA NA 0.000e+00 NA NA
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00444,3.12635] 8.377e-01 1.194e+00 0.3628 1.934
Age 1.058e+00 9.450e-01 0.9948 1.126
Gendermale 1.943e+00 5.147e-01 0.6472 5.833
Hypertension.compositeno 1.310e-08 7.634e+07 0.0000 Inf
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 1.888e+00 5.296e-01 0.7028 5.072
SmokerCurrentno 4.448e-01 2.248e+00 0.1887 1.048
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.992e+00 5.019e-01 0.8015 4.953
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 1.302e+00 7.681e-01 0.3605 4.702
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.796e-01 1.021e+00 0.9589 1.001
BMI 1.013e+00 9.876e-01 0.9035 1.135
CAD_history 1.291e+00 7.746e-01 0.5391 3.091
Stroke_history 1.244e+00 8.037e-01 0.5305 2.918
Peripheral.interv 1.684e+00 5.939e-01 0.6246 4.540
stenose0-49% 4.914e-01 2.035e+00 0.0000 Inf
stenose50-70% 1.457e+00 6.863e-01 0.0000 Inf
stenose70-90% 8.550e+07 1.170e-08 0.0000 Inf
stenose90-99% 6.936e+07 1.442e-08 0.0000 Inf
stenose100% (Occlusion) NA NA NA NA
stenoseNA NA NA NA NA
stenose50-99% NA NA NA NA
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.801 (se = 0.04 )
Likelihood ratio test= 29.16 on 17 df, p=0.03
Wald test = 9.19 on 17 df, p=0.9
Score (logrank) test = 24.7 on 17 df, p=0.1
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: MCP1_rank
Effect size...............: -0.177103
Standard error............: 0.426996
Odds ratio (effect size)..: 0.838
Lower 95% CI..............: 0.363
Upper 95% CI..............: 1.934
T-value...................: -0.414764
P-value...................: 0.6783146
Sample size in model......: 509
Number of events..........: 24
> processing [IL6_pg_ug_2015_rank]; 3 out of 5 proteins.
> cross tabulation of IL6_pg_ug_2015_rank-stratum.
[-3.33061,0.00109) [ 0.00109,3.33061]
577 577
> fitting the model for IL6_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1002, number of events= 35
(1386 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 3.124e-01 1.367e+00 3.495e-01 0.894 0.371352
Age 6.928e-02 1.072e+00 2.589e-02 2.676 0.007450 **
Gendermale 1.013e+00 2.755e+00 4.933e-01 2.054 0.039942 *
Hypertension.compositeno -1.767e+01 2.123e-08 3.770e+03 -0.005 0.996261
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -5.545e-02 9.461e-01 4.082e-01 -0.136 0.891958
SmokerCurrentno -4.117e-01 6.625e-01 3.828e-01 -1.076 0.282106
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 3.902e-02 1.040e+00 4.239e-01 0.092 0.926647
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 1.096e+00 2.991e+00 3.963e-01 2.765 0.005696 **
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -3.121e-02 9.693e-01 9.102e-03 -3.428 0.000607 ***
BMI 6.702e-02 1.069e+00 5.147e-02 1.302 0.192850
CAD_history 2.453e-01 1.278e+00 3.548e-01 0.692 0.489238
Stroke_history -1.405e-01 8.689e-01 3.867e-01 -0.363 0.716259
Peripheral.interv 6.223e-01 1.863e+00 4.073e-01 1.528 0.126503
stenose0-49% -1.957e+01 3.162e-09 2.801e+04 -0.001 0.999442
stenose50-70% -8.921e-01 4.098e-01 1.238e+00 -0.720 0.471253
stenose70-90% -1.380e+00 2.515e-01 1.065e+00 -1.296 0.195019
stenose90-99% -8.273e-01 4.372e-01 1.042e+00 -0.794 0.427146
stenose100% (Occlusion) -1.912e+01 4.954e-09 1.969e+04 -0.001 0.999225
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% -1.913e+01 4.932e-09 4.806e+04 0.000 0.999682
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00109,3.33061] 1.367e+00 7.317e-01 0.68899 2.7110
Age 1.072e+00 9.331e-01 1.01871 1.1275
Gendermale 2.755e+00 3.630e-01 1.04766 7.2440
Hypertension.compositeno 2.123e-08 4.709e+07 0.00000 Inf
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 9.461e-01 1.057e+00 0.42503 2.1058
SmokerCurrentno 6.625e-01 1.509e+00 0.31288 1.4029
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.040e+00 9.617e-01 0.45305 2.3865
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 2.991e+00 3.343e-01 1.37565 6.5034
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.693e-01 1.032e+00 0.95214 0.9867
BMI 1.069e+00 9.352e-01 0.96671 1.1828
CAD_history 1.278e+00 7.824e-01 0.63761 2.5618
Stroke_history 8.689e-01 1.151e+00 0.40722 1.8539
Peripheral.interv 1.863e+00 5.367e-01 0.83869 4.1396
stenose0-49% 3.162e-09 3.162e+08 0.00000 Inf
stenose50-70% 4.098e-01 2.440e+00 0.03619 4.6407
stenose70-90% 2.515e-01 3.976e+00 0.03118 2.0286
stenose90-99% 4.372e-01 2.287e+00 0.05675 3.3690
stenose100% (Occlusion) 4.954e-09 2.018e+08 0.00000 Inf
stenoseNA NA NA NA NA
stenose50-99% 4.932e-09 2.028e+08 0.00000 Inf
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.841 (se = 0.028 )
Likelihood ratio test= 59.89 on 19 df, p=4e-06
Wald test = 21.5 on 19 df, p=0.3
Score (logrank) test = 56.6 on 19 df, p=1e-05
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: IL6_pg_ug_2015_rank
Effect size...............: 0.312398
Standard error............: 0.349461
Odds ratio (effect size)..: 1.367
Lower 95% CI..............: 0.689
Upper 95% CI..............: 2.711
T-value...................: 0.893944
P-value...................: 0.3713521
Sample size in model......: 1002
Number of events..........: 35
> processing [IL6R_pg_ug_2015_rank]; 4 out of 5 proteins.
> cross tabulation of IL6R_pg_ug_2015_rank-stratum.
[-3.33109,0.00108) [ 0.00108,3.33109]
578 578
> fitting the model for IL6R_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1006, number of events= 35
(1382 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 5.464e-01 1.727e+00 3.680e-01 1.485 0.137593
Age 6.965e-02 1.072e+00 2.601e-02 2.677 0.007422 **
Gendermale 1.005e+00 2.732e+00 4.908e-01 2.048 0.040545 *
Hypertension.compositeno -1.772e+01 2.009e-08 3.857e+03 -0.005 0.996334
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes 4.218e-02 1.043e+00 4.083e-01 0.103 0.917718
SmokerCurrentno -3.826e-01 6.821e-01 3.836e-01 -0.997 0.318610
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno -3.352e-02 9.670e-01 4.260e-01 -0.079 0.937271
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 1.105e+00 3.019e+00 3.963e-01 2.788 0.005308 **
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -3.056e-02 9.699e-01 9.111e-03 -3.354 0.000795 ***
BMI 6.759e-02 1.070e+00 5.231e-02 1.292 0.196361
CAD_history 2.611e-01 1.298e+00 3.523e-01 0.741 0.458589
Stroke_history -1.680e-01 8.454e-01 3.863e-01 -0.435 0.663620
Peripheral.interv 5.397e-01 1.716e+00 4.005e-01 1.348 0.177778
stenose0-49% -1.933e+01 4.012e-09 3.424e+04 -0.001 0.999549
stenose50-70% -9.530e-01 3.856e-01 1.235e+00 -0.772 0.440403
stenose70-90% -1.527e+00 2.172e-01 1.063e+00 -1.437 0.150749
stenose90-99% -1.042e+00 3.528e-01 1.045e+00 -0.997 0.318684
stenose100% (Occlusion) -1.934e+01 3.981e-09 2.180e+04 -0.001 0.999292
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% -1.899e+01 5.679e-09 3.413e+04 -0.001 0.999556
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00108,3.33109] 1.727e+00 5.790e-01 0.83957 3.5528
Age 1.072e+00 9.327e-01 1.01884 1.1282
Gendermale 2.732e+00 3.660e-01 1.04423 7.1500
Hypertension.compositeno 2.009e-08 4.978e+07 0.00000 Inf
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 1.043e+00 9.587e-01 0.46857 2.3220
SmokerCurrentno 6.821e-01 1.466e+00 0.32163 1.4467
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 9.670e-01 1.034e+00 0.41961 2.2286
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 3.019e+00 3.313e-01 1.38825 6.5635
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.699e-01 1.031e+00 0.95273 0.9874
BMI 1.070e+00 9.346e-01 0.96566 1.1854
CAD_history 1.298e+00 7.702e-01 0.65089 2.5901
Stroke_history 8.454e-01 1.183e+00 0.39652 1.8023
Peripheral.interv 1.716e+00 5.829e-01 0.78252 3.7609
stenose0-49% 4.012e-09 2.493e+08 0.00000 Inf
stenose50-70% 3.856e-01 2.593e+00 0.03426 4.3404
stenose70-90% 2.172e-01 4.604e+00 0.02706 1.7434
stenose90-99% 3.528e-01 2.835e+00 0.04551 2.7347
stenose100% (Occlusion) 3.981e-09 2.512e+08 0.00000 Inf
stenoseNA NA NA NA NA
stenose50-99% 5.679e-09 1.761e+08 0.00000 Inf
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.839 (se = 0.03 )
Likelihood ratio test= 61.36 on 19 df, p=2e-06
Wald test = 24.03 on 19 df, p=0.2
Score (logrank) test = 59.66 on 19 df, p=4e-06
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' IL6R_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: IL6R_pg_ug_2015_rank
Effect size...............: 0.546431
Standard error............: 0.368013
Odds ratio (effect size)..: 1.727
Lower 95% CI..............: 0.84
Upper 95% CI..............: 3.553
T-value...................: 1.484815
P-value...................: 0.1375929
Sample size in model......: 1006
Number of events..........: 35
> processing [MCP1_pg_ug_2015_rank]; 5 out of 5 proteins.
> cross tabulation of MCP1_pg_ug_2015_rank-stratum.
[-3.34148,0.00104) [ 0.00104,3.34148]
600 600
> fitting the model for MCP1_pg_ug_2015_rank-stratum.
> make a Kaplan-Meier-shizzle...
Vectorized input to `element_text()` is not officially supported.
Results may be unexpected or may change in future versions of ggplot2.
> perform the Cox-regression fashizzle and plot it...
Call:
coxph(formula = Surv(TEMP.DF[, eptime], event) ~ TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]] +
Age + Gender + Hypertension.composite + DiabetesStatus +
SmokerCurrent + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD +
BMI + CAD_history + Stroke_history + Peripheral.interv +
stenose, data = TEMP.DF)
n= 1044, number of events= 35
(1344 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] -2.174e-02 9.785e-01 3.452e-01 -0.063 0.949793
Age 6.789e-02 1.070e+00 2.577e-02 2.635 0.008421 **
Gendermale 1.041e+00 2.832e+00 4.920e-01 2.116 0.034334 *
Hypertension.compositeno -1.769e+01 2.075e-08 3.765e+03 -0.005 0.996251
Hypertension.compositeyes NA NA 0.000e+00 NA NA
DiabetesStatusDiabetes -2.627e-02 9.741e-01 4.067e-01 -0.065 0.948492
SmokerCurrentno -4.254e-01 6.535e-01 3.816e-01 -1.115 0.264940
SmokerCurrentyes NA NA 0.000e+00 NA NA
Med.Statin.LLDno 8.787e-02 1.092e+00 4.219e-01 0.208 0.834997
Med.Statin.LLDyes NA NA 0.000e+00 NA NA
Med.all.antiplateletno 1.088e+00 2.970e+00 3.978e-01 2.736 0.006214 **
Med.all.antiplateletyes NA NA 0.000e+00 NA NA
GFR_MDRD -3.243e-02 9.681e-01 9.119e-03 -3.556 0.000376 ***
BMI 6.918e-02 1.072e+00 5.133e-02 1.348 0.177742
CAD_history 2.495e-01 1.283e+00 3.531e-01 0.707 0.479796
Stroke_history -1.160e-01 8.905e-01 3.884e-01 -0.299 0.765236
Peripheral.interv 5.734e-01 1.774e+00 4.037e-01 1.421 0.155458
stenose0-49% -1.972e+01 2.716e-09 2.937e+04 -0.001 0.999464
stenose50-70% -9.727e-01 3.781e-01 1.239e+00 -0.785 0.432437
stenose70-90% -1.445e+00 2.358e-01 1.068e+00 -1.353 0.176192
stenose90-99% -9.011e-01 4.061e-01 1.048e+00 -0.860 0.389738
stenose100% (Occlusion) -1.926e+01 4.335e-09 2.009e+04 -0.001 0.999235
stenoseNA NA NA 0.000e+00 NA NA
stenose50-99% -1.904e+01 5.407e-09 3.419e+04 -0.001 0.999556
stenose70-99% NA NA 0.000e+00 NA NA
stenose99 NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TEMP.DF[[TRAITS.PROTEIN.RANK[protein]]][ 0.00104,3.34148] 9.785e-01 1.022e+00 0.49743 1.9248
Age 1.070e+00 9.344e-01 1.01754 1.1257
Gendermale 2.832e+00 3.531e-01 1.07986 7.4287
Hypertension.compositeno 2.075e-08 4.820e+07 0.00000 Inf
Hypertension.compositeyes NA NA NA NA
DiabetesStatusDiabetes 9.741e-01 1.027e+00 0.43893 2.1616
SmokerCurrentno 6.535e-01 1.530e+00 0.30931 1.3806
SmokerCurrentyes NA NA NA NA
Med.Statin.LLDno 1.092e+00 9.159e-01 0.47761 2.4961
Med.Statin.LLDyes NA NA NA NA
Med.all.antiplateletno 2.970e+00 3.368e-01 1.36177 6.4754
Med.all.antiplateletyes NA NA NA NA
GFR_MDRD 9.681e-01 1.033e+00 0.95094 0.9855
BMI 1.072e+00 9.332e-01 0.96906 1.1851
CAD_history 1.283e+00 7.792e-01 0.64242 2.5638
Stroke_history 8.905e-01 1.123e+00 0.41589 1.9066
Peripheral.interv 1.774e+00 5.636e-01 0.80432 3.9142
stenose0-49% 2.716e-09 3.681e+08 0.00000 Inf
stenose50-70% 3.781e-01 2.645e+00 0.03333 4.2880
stenose70-90% 2.358e-01 4.241e+00 0.02906 1.9132
stenose90-99% 4.061e-01 2.462e+00 0.05211 3.1654
stenose100% (Occlusion) 4.335e-09 2.307e+08 0.00000 Inf
stenoseNA NA NA NA NA
stenose50-99% 5.407e-09 1.849e+08 0.00000 Inf
stenose70-99% NA NA NA NA
stenose99 NA NA NA NA
Concordance= 0.839 (se = 0.029 )
Likelihood ratio test= 60.04 on 19 df, p=4e-06
Wald test = 21.96 on 19 df, p=0.3
Score (logrank) test = 56.98 on 19 df, p=1e-05
> writing the Cox-regression fashizzle to Excel...
Summarizing Cox regression results for ' MCP1_pg_ug_2015_rank ' and its association to ' epcvdeath.3years ' in ' AEDB.CEA '.
Collecting data.
We have collected the following:
Dataset used..............: AEDB.CEA
Outcome analyzed..........: epcvdeath.3years
Protein...................: MCP1_pg_ug_2015_rank
Effect size...............: -0.021735
Standard error............: 0.345188
Odds ratio (effect size)..: 0.978
Lower 95% CI..............: 0.497
Upper 95% CI..............: 1.925
T-value...................: -0.062967
P-value...................: 0.9497931
Sample size in model......: 1044
Number of events..........: 35
cat("- Edit the column names...\n")
- Edit the column names...
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
"Beta", "s.e.m.",
"HR", "low95CI", "up95CI",
"Z-value", "P-value", "SampleSize", "N_events")
cat("- Correct the variable types...\n")
- Correct the variable types...
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)
AEDB.CEA.COX.results <- COX.results
# Save the data
cat("- Writing results to Excel-file...\n")
- Writing results to Excel-file...
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL2.xlsx"),
creator = "Sander W. van der Laan",
sheetName = "Results", headerStyle = head.style,
row.names = FALSE, col.names = TRUE, overwrite = TRUE)
# Removing intermediates
cat("- Removing intermediate files...\n")
- Removing intermediate files...
rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)
rm(head.style)
object 'head.style' not found
MODEL 1
# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))
# Looping over each protein/endpoint/time combination
for (i in 1:length(times30)){
eptime = times30[i]
ep = endpoints30[i]
cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
cat(" - creating temporary SE for this work.\n")
TEMP.DF = as.data.frame(AEDB.CEA)
cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
TEMP.DF$event <- as.integer(TEMP.DF[,ep])
TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
for (protein in 1:length(TRAITS.PROTEIN.RANK)){
cat(paste0(" > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
# splitting into two groups
TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
cat(paste0(" > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
cat(paste0("\n > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
cat(paste0("\n > make a Kaplan-Meier-shizzle...\n"))
# make Kaplan-Meier curve and save it
show(ggsurvplot(fit, data = TEMP.DF,
palette = c("#DB003F", "#1290D9"),
# palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
linetype = c(1,2),
ylim = c(0.75, 1),
# linetype = c(1,2,3,4),
# conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
pval = FALSE, pval.method = FALSE, pval.size = 4,
risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
censor = FALSE,
legend = "right",
legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
legend.labs = c("low", "high"),
title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.survival.",ep,".2G.",
TRAITS.PROTEIN.RANK[protein],".30days.pdf"), width = 12, height = 10, onefile = FALSE)
cat(paste0("\n > perform the Cox-regression fashizzle and plot it...\n"))
### Do Cox-regression and plot it
### MODEL 1 (Simple model)
cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age+Gender + ORdate_year, data = TEMP.DF)
coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age+Gender + ORdate_year, data = TEMP.DF)
plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
ylim = c(0.75, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
# ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
ylab = "Suvival probability", xlab = "FU time [days]",
mark.time = FALSE, axes = FALSE, bty = "n")
legend("topright",
c("low", "high"),
title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
bty = "n")
axis(side = 1, at = seq(0, 3, by = 1))
axis(side = 2, at = seq(0, 1, by = 0.2))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.Cox.",ep,".2G.",
# Today,".AEDB.CEA.Cox.",ep,".4G.",
TRAITS.PROTEIN.RANK[protein],".MODEL1.30days.pdf"), height = 12, width = 10, onefile = TRUE)
show(summary(cox))
cat(paste0("\n > writing the Cox-regression fashizzle to Excel...\n"))
COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
COX.results = rbind(COX.results, COX.results.TEMP)
}
}
cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
"Beta", "s.e.m.",
"HR", "low95CI", "up95CI",
"Z-value", "P-value", "SampleSize", "N_events")
cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)
AEDB.CEA.COX.results <- COX.results
# Save the data
library(openxlsx)
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL1.30days.xlsx"),
creator = "Sander W. van der Laan",
sheetName = "Results", headerStyle = head.style,
row.names = FALSE, col.names = TRUE, overwrite = TRUE)
# Removing intermediates
cat("- Removing intermediate files...\n")
#rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)
#rm(head.style)
MODEL 2
# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))
# Looping over each protein/endpoint/time combination
for (i in 1:length(times30)){
eptime = times30[i]
ep = endpoints30[i]
cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
cat(" - creating temporary SE for this work.\n")
TEMP.DF = as.data.frame(AEDB.CEA)
cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
TEMP.DF$event <- as.integer(TEMP.DF[,ep])
#as.integer(TEMP.DF[,ep] == "Excluded")
TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
for (protein in 1:length(TRAITS.PROTEIN.RANK)){
cat(paste0(" > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
# splitting into two groups
TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
cat(paste0(" > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
cat(paste0("\n > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
cat(paste0("\n > make a Kaplan-Meier-shizzle...\n"))
# make Kaplan-Meier curve and save it
show(ggsurvplot(fit, data = TEMP.DF,
palette = c("#DB003F", "#1290D9"),
# palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
linetype = c(1,2),
ylim = c(0.75, 1),
# linetype = c(1,2,3,4),
# conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
pval = FALSE, pval.method = FALSE, pval.size = 4,
risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
censor = FALSE,
legend = "right",
legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
legend.labs = c("low", "high"),
title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.survival.",ep,".2G.",
TRAITS.PROTEIN.RANK[protein],".30days.pdf"), width = 12, height = 10, onefile = FALSE)
cat(paste0("\n > perform the Cox-regression fashizzle and plot it...\n"))
### Do Cox-regression and plot it
### MODEL 2 adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis
cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
ylim = c(0.75, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
# ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
ylab = "Suvival probability", xlab = "FU time [days]",
mark.time = FALSE, axes = FALSE, bty = "n")
legend("topright",
c("low", "high"),
title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
bty = "n")
axis(side = 1, at = seq(0, 3, by = 1))
axis(side = 2, at = seq(0, 1, by = 0.2))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.Cox.",ep,".2G.",
# Today,".AEDB.CEA.Cox.",ep,".4G.",
TRAITS.PROTEIN.RANK[protein],".MODEL2.30days.pdf"), height = 12, width = 10, onefile = TRUE)
show(summary(cox))
cat(paste0("\n > writing the Cox-regression fashizzle to Excel...\n"))
COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
COX.results = rbind(COX.results, COX.results.TEMP)
}
}
cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
"Beta", "s.e.m.",
"HR", "low95CI", "up95CI",
"Z-value", "P-value", "SampleSize", "N_events")
cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)
AEDB.CEA.COX.results <- COX.results
# Save the data
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL2.30days.xlsx"),
creator = "Sander W. van der Laan",
sheetName = "Results", headerStyle = head.style,
row.names = FALSE, col.names = TRUE, overwrite = TRUE)
# Removing intermediates
cat("- Removing intermediate files...\n")
rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)
rm(head.style)
MODEL 1
# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))
# Looping over each protein/endpoint/time combination
for (i in 1:length(times90)){
eptime = times90[i]
ep = endpoints90[i]
cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
cat(" - creating temporary SE for this work.\n")
TEMP.DF = as.data.frame(AEDB.CEA)
cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
TEMP.DF$event <- as.integer(TEMP.DF[,ep])
TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
for (protein in 1:length(TRAITS.PROTEIN.RANK)){
cat(paste0(" > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
# splitting into two groups
TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
cat(paste0(" > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
cat(paste0("\n > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
cat(paste0("\n > make a Kaplan-Meier-shizzle...\n"))
# make Kaplan-Meier curve and save it
show(ggsurvplot(fit, data = TEMP.DF,
palette = c("#DB003F", "#1290D9"),
# palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
linetype = c(1,2),
ylim = c(0.75, 1),
# linetype = c(1,2,3,4),
# conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
pval = FALSE, pval.method = FALSE, pval.size = 4,
risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
censor = FALSE,
legend = "right",
legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
legend.labs = c("low", "high"),
title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.survival.",ep,".2G.",
TRAITS.PROTEIN.RANK[protein],".90days.pdf"), width = 12, height = 10, onefile = FALSE)
cat(paste0("\n > perform the Cox-regression fashizzle and plot it...\n"))
### Do Cox-regression and plot it
### MODEL 1 (Simple model)
cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age+Gender + ORdate_year, data = TEMP.DF)
coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age+Gender + ORdate_year, data = TEMP.DF)
plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
ylim = c(0.75, 1), xlim = c(0,3), col = c("#595A5C", "#DB003F", "#1290D9"),
# ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
ylab = "Suvival probability", xlab = "FU time [days]",
mark.time = FALSE, axes = FALSE, bty = "n")
legend("topright",
c("low", "high"),
title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
bty = "n")
axis(side = 1, at = seq(0, 3, by = 1))
axis(side = 2, at = seq(0, 1, by = 0.2))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.Cox.",ep,".2G.",
# Today,".AEDB.CEA.Cox.",ep,".4G.",
TRAITS.PROTEIN.RANK[protein],".MODEL1.90days.pdf"), height = 12, width = 10, onefile = TRUE)
show(summary(cox))
cat(paste0("\n > writing the Cox-regression fashizzle to Excel...\n"))
COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
COX.results = rbind(COX.results, COX.results.TEMP)
}
}
cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
"Beta", "s.e.m.",
"HR", "low95CI", "up95CI",
"Z-value", "P-value", "SampleSize", "N_events")
cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)
AEDB.CEA.COX.results <- COX.results
# Save the data
library(openxlsx)
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL1.90days.xlsx"),
creator = "Sander W. van der Laan",
sheetName = "Results", headerStyle = head.style,
row.names = FALSE, col.names = TRUE, overwrite = TRUE)
# Removing intermediates
cat("- Removing intermediate files...\n")
#rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)
#rm(head.style)
MODEL 2
# Set up a dataframe to receive results
COX.results <- data.frame(matrix(NA, ncol = 12, nrow = 0))
# Looping over each protein/endpoint/time combination
for (i in 1:length(times90)){
eptime = times90[i]
ep = endpoints90[i]
cat(paste0("* Analyzing the effect of plaque proteins on [",ep,"].\n"))
cat(" - creating temporary SE for this work.\n")
TEMP.DF = as.data.frame(AEDB.CEA)
cat(" - making a 'Surv' object and adding this to temporary dataframe.\n")
TEMP.DF$event <- as.integer(TEMP.DF[,ep])
#as.integer(TEMP.DF[,ep] == "Excluded")
TEMP.DF$y <- Surv(time = TEMP.DF[,eptime], event = TEMP.DF$event)
cat(" - making strata of each of the plaque proteins and start survival analysis.\n")
for (protein in 1:length(TRAITS.PROTEIN.RANK)){
cat(paste0(" > processing [",TRAITS.PROTEIN.RANK[protein],"]; ",protein," out of ",length(TRAITS.PROTEIN.RANK)," proteins.\n"))
# splitting into two groups
TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]] <- cut2(TEMP.DF[,TRAITS.PROTEIN.RANK[protein]], g = 2)
cat(paste0(" > cross tabulation of ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
show(table(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]))
cat(paste0("\n > fitting the model for ",TRAITS.PROTEIN.RANK[protein],"-stratum.\n"))
fit <- survfit(as.formula(paste0("y ~ ", TRAITS.PROTEIN.RANK[protein])), data = TEMP.DF)
cat(paste0("\n > make a Kaplan-Meier-shizzle...\n"))
# make Kaplan-Meier curve and save it
show(ggsurvplot(fit, data = TEMP.DF,
palette = c("#DB003F", "#1290D9"),
# palete = c("F59D10", "#DB003F", "#49A01D", "#1290D9"),
linetype = c(1,2),
ylim = c(0.75, 1),
# linetype = c(1,2,3,4),
# conf.int = FALSE, conf.int.fill = "#595A5C", conf.int.alpha = 0.1,
pval = FALSE, pval.method = FALSE, pval.size = 4,
risk.table = TRUE, risk.table.y.text = FALSE, tables.y.text.col = TRUE, fontsize = 4,
censor = FALSE,
legend = "right",
legend.title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
legend.labs = c("low", "high"),
title = paste0("Risk of ",ep,""), xlab = "Time [days]", font.main = c(16, "bold", "black")))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.survival.",ep,".2G.",
TRAITS.PROTEIN.RANK[protein],".90days.pdf"), width = 12, height = 10, onefile = FALSE)
cat(paste0("\n > perform the Cox-regression fashizzle and plot it...\n"))
### Do Cox-regression and plot it
### MODEL 2 adjusted for age, sex, hypertension, diabetes, smoking, LDL-C levels, lipid-lowering drugs, antiplatelet drugs, eGFR, BMI, history of CVD, level of stenosis
cox = coxph(Surv(TEMP.DF[,eptime], event) ~ TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]]+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
coxplot = coxph(Surv(TEMP.DF[,eptime], event) ~ strata(TEMP.DF[[ TRAITS.PROTEIN.RANK[protein] ]])+Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose, data = TEMP.DF)
plot(survfit(coxplot), main = paste0("Cox proportional hazard of [",ep,"] per [",eptime,"]."),
ylim = c(0.75, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
# ylim = c(0, 1), xlim = c(0,3), col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
ylab = "Suvival probability", xlab = "FU time [days]",
mark.time = FALSE, axes = FALSE, bty = "n")
legend("topright",
c("low", "high"),
title = paste0("",TRAITS.PROTEIN.RANK[protein],""),
col = c("#DB003F", "#1290D9"),
lty = c(1,2), lwd = 2,
bty = "n")
axis(side = 1, at = seq(0, 3, by = 1))
axis(side = 2, at = seq(0, 1, by = 0.2))
dev.copy2pdf(file = paste0(COX_loc,"/",
Today,".AEDB.CEA.Cox.",ep,".2G.",
# Today,".AEDB.CEA.Cox.",ep,".4G.",
TRAITS.PROTEIN.RANK[protein],".MODEL2.90days.pdf"), height = 12, width = 10, onefile = TRUE)
show(summary(cox))
cat(paste0("\n > writing the Cox-regression fashizzle to Excel...\n"))
COX.results.TEMP <- data.frame(matrix(NA, ncol = 12, nrow = 0))
COX.results.TEMP[1,] = COX.STAT(cox, "AEDB.CEA", ep, TRAITS.PROTEIN.RANK[protein])
COX.results = rbind(COX.results, COX.results.TEMP)
}
}
cat("- Edit the column names...\n")
colnames(COX.results) = c("Dataset", "Outcome", "CpG",
"Beta", "s.e.m.",
"HR", "low95CI", "up95CI",
"Z-value", "P-value", "SampleSize", "N_events")
cat("- Correct the variable types...\n")
COX.results$Beta <- as.numeric(COX.results$Beta)
COX.results$s.e.m. <- as.numeric(COX.results$s.e.m.)
COX.results$HR <- as.numeric(COX.results$HR)
COX.results$low95CI <- as.numeric(COX.results$low95CI)
COX.results$up95CI <- as.numeric(COX.results$up95CI)
COX.results$`Z-value` <- as.numeric(COX.results$`Z-value`)
COX.results$`P-value` <- as.numeric(COX.results$`P-value`)
COX.results$SampleSize <- as.numeric(COX.results$SampleSize)
COX.results$N_events <- as.numeric(COX.results$N_events)
AEDB.CEA.COX.results <- COX.results
# Save the data
cat("- Writing results to Excel-file...\n")
head.style <- createStyle(textDecoration = "BOLD")
write.xlsx(AEDB.CEA.COX.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Cox.2G.MODEL2.90days.xlsx"),
creator = "Sander W. van der Laan",
sheetName = "Results", headerStyle = head.style,
row.names = FALSE, col.names = TRUE, overwrite = TRUE)
# Removing intermediates
cat("- Removing intermediate files...\n")
rm(TEMP.DF, protein, fit, cox, coxplot, COX.results, COX.results.TEMP, head.style, AEDB.CEA.COX.results)
rm(head.style)
We correlated plasma and plaque levels of the biomarkers.
# Installation of ggcorrplot()
# --------------------------------
if(!require(devtools))
install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")
Downloading GitHub repo kassambara/ggcorrplot@master
checking for file ‘/private/var/folders/kc/c5rw4cb94c1c149gsm2ygfc00000gn/T/RtmpGqAtjb/remotesec303149845c/kassambara-ggcorrplot-c46b4cc/DESCRIPTION’ ...
[32m✓[39m [38;5;247mchecking for file ‘/private/var/folders/kc/c5rw4cb94c1c149gsm2ygfc00000gn/T/RtmpGqAtjb/remotesec303149845c/kassambara-ggcorrplot-c46b4cc/DESCRIPTION’[39m[36m[36m (339ms)[36m[39m
[38;5;247m─[39m[38;5;247m [39m[38;5;247mpreparing ‘ggcorrplot’:[39m[36m[39m
checking DESCRIPTION meta-information ...
[32m✓[39m [38;5;247mchecking DESCRIPTION meta-information[39m[36m[39m
[38;5;247m─[39m[38;5;247m [39m[38;5;247mchecking for LF line-endings in source and make files and shell scripts[39m[36m[39m
[38;5;247m─[39m[38;5;247m [39m[38;5;247mchecking for empty or unneeded directories[39m[36m[39m
[38;5;247m─[39m[38;5;247m [39m[38;5;247mbuilding ‘ggcorrplot_0.1.3.999.tar.gz’[39m[36m[39m
Installing package into ‘/usr/local/lib/R/3.6/site-library’
(as ‘lib’ is unspecified)
* installing *source* package ‘ggcorrplot’ ...
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (ggcorrplot)
library(ggcorrplot)
# Creating matrix - natural log transformed
# --------------------------------
AEDB.CEA.temp <- subset(AEDB.CEA,
select = c("IL6_LN", "MCP1_LN", "IL6_pg_ug_2015_LN", "MCP1_pg_ug_2015_LN", "IL6R_pg_ug_2015_LN",
TRAITS.BIN, TRAITS.CON)
)
AEDB.CEA.temp$CalcificationPlaque <- as.numeric(AEDB.CEA.temp$CalcificationPlaque)
AEDB.CEA.temp$CollagenPlaque <- as.numeric(AEDB.CEA.temp$CollagenPlaque)
AEDB.CEA.temp$Fat10Perc <- as.numeric(AEDB.CEA.temp$Fat10Perc)
AEDB.CEA.temp$IPH <- as.numeric(AEDB.CEA.temp$IPH)
str(AEDB.CEA.temp)
tibble [2,388 × 12] (S3: tbl_df/tbl/data.frame)
$ IL6_LN : num [1:2388] 3.97 4.56 4.58 4.93 NA ...
$ MCP1_LN : num [1:2388] 3.7 5.53 4.35 4.19 NA ...
$ IL6_pg_ug_2015_LN : num [1:2388] -5.23 -7.65 -2 NA NA ...
$ MCP1_pg_ug_2015_LN : num [1:2388] -0.0505 NA 0.8335 NA NA ...
$ IL6R_pg_ug_2015_LN : num [1:2388] 0.0893 -8.8939 -0.3091 NA NA ...
$ CalcificationPlaque: num [1:2388] 1 2 2 2 1 1 2 1 1 2 ...
$ CollagenPlaque : num [1:2388] 2 2 2 2 2 2 1 1 2 1 ...
$ Fat10Perc : num [1:2388] 2 2 1 1 2 2 2 2 2 2 ...
$ IPH : num [1:2388] 2 1 2 2 2 2 2 2 1 2 ...
$ Macrophages_LN : num [1:2388] 0.542 -1.732 -1.386 -0.426 -4.605 ...
$ SMC_LN : num [1:2388] 1.411 1.833 0.965 0.55 2.239 ...
$ VesselDensity_LN : num [1:2388] 0.846 1.203 2.46 2.398 1.541 ...
AEDB.CEA.matrix <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)
corr_biomarkers <- round(cor(AEDB.CEA.matrix,
use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
method = "spearman"), 3)
# corr_biomarkers
corr_biomarkers_p <- ggcorrplot::cor_pmat(AEDB.CEA.matrix, use = "pairwise.complete.obs", method = "spearman")
Cannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with ties
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
ggcorrplot(corr_biomarkers,
method = "square",
type = "lower",
title = "Cross biomarker correlations",
show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
show.diag = TRUE,
hc.order = FALSE,
lab = FALSE,
digits = 3,
# p.mat = corr_biomarkers_p, sig.level = 0.05,
colors = c("#1290D9", "#FFFFFF", "#E55738"))
# Creating matrix - inverse-rank transformation
# --------------------------------
AEDB.CEA.temp <- subset(AEDB.CEA,
select = c("IL6_rank", "MCP1_rank", "IL6_pg_ug_2015_rank", "MCP1_pg_ug_2015_rank", "IL6R_pg_ug_2015_rank",
TRAITS.BIN, TRAITS.CON.RANK)
)
AEDB.CEA.temp$CalcificationPlaque <- as.numeric(AEDB.CEA.temp$CalcificationPlaque)
AEDB.CEA.temp$CollagenPlaque <- as.numeric(AEDB.CEA.temp$CollagenPlaque)
AEDB.CEA.temp$Fat10Perc <- as.numeric(AEDB.CEA.temp$Fat10Perc)
AEDB.CEA.temp$IPH <- as.numeric(AEDB.CEA.temp$IPH)
str(AEDB.CEA.temp)
tibble [2,388 × 12] (S3: tbl_df/tbl/data.frame)
$ IL6_rank : num [1:2388] 0.205 0.703 0.746 1.085 NA ...
$ MCP1_rank : num [1:2388] -0.944 1.196 -0.297 -0.499 NA ...
$ IL6_pg_ug_2015_rank : num [1:2388] -1.422 -2.744 0.919 NA NA ...
$ MCP1_pg_ug_2015_rank: num [1:2388] 0.936 NA 1.691 NA NA ...
$ IL6R_pg_ug_2015_rank: num [1:2388] 2.21 -2.85 1.78 NA NA ...
$ CalcificationPlaque : num [1:2388] 1 2 2 2 1 1 2 1 1 2 ...
$ CollagenPlaque : num [1:2388] 2 2 2 2 2 2 1 1 2 1 ...
$ Fat10Perc : num [1:2388] 2 2 1 1 2 2 2 2 2 2 ...
$ IPH : num [1:2388] 2 1 2 2 2 2 2 2 1 2 ...
$ Macrophages_rank : num [1:2388] 1.12 -0.276 -0.105 0.403 -1.414 ...
$ SMC_rank : num [1:2388] 1.134 1.678 0.625 0.256 2.086 ...
$ VesselDensity_rank : num [1:2388] -0.976 -0.773 0.713 0.609 -0.529 ...
AEDB.CEA.matrix.RANK <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)
corr_biomarkers.rank <- round(cor(AEDB.CEA.matrix.RANK,
use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
method = "spearman"), 3)
# corr_biomarkers.rank
corr_biomarkers_p.rank <- ggcorrplot::cor_pmat(AEDB.CEA.matrix.RANK, use = "pairwise.complete.obs", method = "spearman")
Cannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with tiesCannot compute exact p-value with ties
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
ggcorrplot(corr_biomarkers.rank,
method = "square",
type = "lower",
title = "Cross biomarker correlations",
show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
show.diag = TRUE,
hc.order = FALSE,
lab = FALSE,
digits = 3,
# p.mat = corr_biomarkers_p.rank, sig.level = 0.05,
colors = c("#1290D9", "#FFFFFF", "#E55738"))
# flattenCorrMatrix
# --------------------------------
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
ut <- upper.tri(cormat)
data.frame(
biomarker_row = rownames(cormat)[row(cormat)[ut]],
biomarker_column = rownames(cormat)[col(cormat)[ut]],
spearman_cor =(cormat)[ut],
pval = pmat[ut]
)
}
corr_biomarkers.df <- as.data.table(flattenCorrMatrix(corr_biomarkers, corr_biomarkers_p))
DT::datatable(corr_biomarkers.df)
corr_biomarkers.rank.df <- as.data.table(flattenCorrMatrix(corr_biomarkers.rank, corr_biomarkers_p.rank))
DT::datatable(corr_biomarkers.rank.df)
# chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("PerformanceAnalytics")
Loading required package: PerformanceAnalytics
Loading required package: xts
Loading required package: zoo
Attaching package: ‘zoo’
The following objects are masked from ‘package:base’:
as.Date, as.Date.numeric
Attaching package: ‘xts’
The following objects are masked from ‘package:data.table’:
first, last
The following objects are masked from ‘package:dplyr’:
first, last
Attaching package: ‘PerformanceAnalytics’
The following object is masked from ‘package:graphics’:
legend
chart.Correlation.new <- function (R, histogram = TRUE, method = c("pearson", "kendall",
"spearman"), ...)
{
x = checkData(R, method = "matrix")
if (missing(method))
method = method[1]
cormeth <- method
panel.cor <- function(x, y, digits = 2, prefix = "", use = "pairwise.complete.obs",
method = cormeth, cex.cor, ...) {
usr <- par("usr")
on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
r <- cor(x, y, use = use, method = method)
txt <- format(c(r, 0.123456789), digits = digits)[1]
txt <- paste(prefix, txt, sep = "")
if (missing(cex.cor))
cex <- 0.8/strwidth(txt)
test <- cor.test(as.numeric(x), as.numeric(y), method = method)
Signif <- symnum(test$p.value, corr = FALSE, na = FALSE,
cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), symbols = c("***",
"**", "*", ".", " "))
text(0.5, 0.5, txt, cex = cex * (abs(r) + 0.3)/1.3)
text(0.8, 0.8, Signif, cex = cex, col = 2)
}
f <- function(t) {
dnorm(t, mean = mean(x), sd = sd.xts(x))
}
dotargs <- list(...)
dotargs$method <- NULL
rm(method)
hist.panel = function(x, ... = NULL) {
par(new = TRUE)
hist(x, col = "#1290D9", probability = TRUE, axes = FALSE,
# hist(x, col = "light gray", probability = TRUE, axes = FALSE,
main = "", breaks = "FD")
lines(density(x, na.rm = TRUE), col = "#E55738", lwd = 1)
rug(x)
}
if (histogram)
pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor,
diag.panel = hist.panel, ...)
else pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, ...)
}
chart.Correlation.new(AEDB.CEA.matrix, method = "spearman", histogram = TRUE, pch = 3)
chart.Correlation.new(AEDB.CEA.matrix.RANK, method = "spearman", histogram = TRUE, pch = 3)
# alternative chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("GGally")
Loading required package: GGally
Registered S3 method overwritten by 'GGally':
method from
+.gg ggplot2
Attaching package: ‘GGally’
The following object is masked from ‘package:dplyr’:
nasa
# Quick display of two cabapilities of GGally, to assess the distribution and correlation of variables
library(GGally)
# From the help page:
ggpairs(AEDB.CEA,
columns = c("IL6_rank", "MCP1_rank", "IL6_pg_ug_2015_rank", "MCP1_pg_ug_2015_rank", "IL6R_pg_ug_2015_rank", TRAITS.BIN, TRAITS.CON.RANK),
columnLabels = c("IL6 (serum)", "MCP1 (serum)", "IL6", "MCP1", "IL6R",
"Calcification", "Collagen", "Fat 10%", "IPH", "Macrophages", "SMC", "Vessel density"),
method = c("spearman"),
# ggplot2::aes(colour = Gender),
progress = FALSE)
Extra arguments: 'method' are being ignored. If these are meant to be aesthetics, submit them using the 'mapping' variable within ggpairs with ggplot2::aes or ggplot2::aes_string.
Finally, we explored in a sub-sample, where circulating MCP-1 levels are available, the following:
NOT AVAILABLE YET
# Installation of ggcorrplot()
# --------------------------------
if(!require(devtools))
install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")
library(ggcorrplot)
# Creating matrix - inverse-rank transformation
# --------------------------------
AEDB.CEA.temp <- subset(AEDB.CEA,
select = c("MCP1_rank",
TRAITS.BIN, TRAITS.CON.RANK,
"Symptoms.5G", "AsymptSympt", "EP_major", "EP_composite")
)
AEDB.CEA.temp$CalcificationPlaque <- as.numeric(AEDB.CEA.temp$CalcificationPlaque)
AEDB.CEA.temp$CollagenPlaque <- as.numeric(AEDB.CEA.temp$CollagenPlaque)
AEDB.CEA.temp$Fat10Perc <- as.numeric(AEDB.CEA.temp$Fat10Perc)
AEDB.CEA.temp$IPH <- as.numeric(AEDB.CEA.temp$IPH)
AEDB.CEA.temp$Symptoms.5G <- as.numeric(AEDB.CEA.temp$Symptoms.5G)
AEDB.CEA.temp$AsymptSympt <- as.numeric(AEDB.CEA.temp$AsymptSympt)
AEDB.CEA.temp$EP_major <- as.numeric(AEDB.CEA.temp$EP_major)
AEDB.CEA.temp$EP_composite <- as.numeric(AEDB.CEA.temp$EP_composite)
# str(AEDB.CEA.temp)
AEDB.CEA.matrix.plasma.RANK <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)
corr_biomarkers_plasma.rank <- round(cor(AEDB.CEA.matrix.plasma.RANK,
use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
method = "spearman"), 3)
# corr_biomarkers.rank
corr_biomarkers_plasma_p.rank <- ggcorrplot::cor_pmat(AEDB.CEA.matrix.plasma.RANK, use = "pairwise.complete.obs", method = "spearman")
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
ggcorrplot(corr_biomarkers_plasma.rank,
method = "square",
type = "lower",
title = "Cross biomarker correlations",
show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
show.diag = TRUE,
hc.order = FALSE,
lab = FALSE,
digits = 3,
# p.mat = corr_biomarkers_plasma_p.rank, sig.level = 0.05,
colors = c("#1290D9", "#FFFFFF", "#E55738"))
# flattenCorrMatrix
# --------------------------------
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
ut <- upper.tri(cormat)
data.frame(
biomarker_row = rownames(cormat)[row(cormat)[ut]],
biomarker_column = rownames(cormat)[col(cormat)[ut]],
spearman_cor =(cormat)[ut],
pval = pmat[ut]
)
}
corr_biomarkers_plasma.rank.df <- as.data.table(flattenCorrMatrix(corr_biomarkers_plasma.rank, corr_biomarkers_plasma_p.rank))
DT::datatable(corr_biomarkers_plasma.rank.df)
# chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("PerformanceAnalytics")
chart.Correlation.new <- function (R, histogram = TRUE, method = c("pearson", "kendall",
"spearman"), ...)
{
x = checkData(R, method = "matrix")
if (missing(method))
method = method[1]
cormeth <- method
panel.cor <- function(x, y, digits = 2, prefix = "", use = "pairwise.complete.obs",
method = cormeth, cex.cor, ...) {
usr <- par("usr")
on.exit(par(usr))
par(usr = c(0, 1, 0, 1))
r <- cor(x, y, use = use, method = method)
txt <- format(c(r, 0.123456789), digits = digits)[1]
txt <- paste(prefix, txt, sep = "")
if (missing(cex.cor))
cex <- 0.8/strwidth(txt)
test <- cor.test(as.numeric(x), as.numeric(y), method = method)
Signif <- symnum(test$p.value, corr = FALSE, na = FALSE,
cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1), symbols = c("***",
"**", "*", ".", " "))
text(0.5, 0.5, txt, cex = cex * (abs(r) + 0.3)/1.3)
text(0.8, 0.8, Signif, cex = cex, col = 2)
}
f <- function(t) {
dnorm(t, mean = mean(x), sd = sd.xts(x))
}
dotargs <- list(...)
dotargs$method <- NULL
rm(method)
hist.panel = function(x, ... = NULL) {
par(new = TRUE)
hist(x, col = "#1290D9", probability = TRUE, axes = FALSE,
# hist(x, col = "light gray", probability = TRUE, axes = FALSE,
main = "", breaks = "FD")
lines(density(x, na.rm = TRUE), col = "#E55738", lwd = 1)
rug(x)
}
if (histogram)
pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor,
diag.panel = hist.panel, ...)
else pairs(x, gap = 0, lower.panel = panel.smooth, upper.panel = panel.cor, ...)
}
chart.Correlation.new(AEDB.CEA.matrix.plasma.RANK, method = "spearman", histogram = TRUE, pch = 3)
# alternative chart of a correlation matrix
# --------------------------------
# Alternative solution https://www.r-graph-gallery.com/199-correlation-matrix-with-ggally.html
install.packages.auto("GGally")
# Quick display of two cabapilities of GGally, to assess the distribution and correlation of variables
library(GGally)
# From the help page:
ggpairs(AEDB.CEA,
columns = c("MCP1_rank", TRAITS.BIN, TRAITS.CON.RANK, "Symptoms.5G", "AsymptSympt", "EP_major", "EP_composite"),
columnLabels = c("MCP1 (plasma)",
"Calcification", "Collagen", "Fat 10%", "IPH", "Macrophages", "SMC", "Vessel density",
"Symptoms", "Symptoms (grouped)", "MACE", "Composite"),
method = c("spearman"),
# ggplot2::aes(colour = Gender),
progress = FALSE)
We want to create per-age-group figures.
library(dplyr)
AEDB.CEA <- AEDB.CEA %>% mutate(AgeGroup = factor(case_when(Age < 55 ~ "<55",
Age >= 55 & Age <= 64 ~ "55-64",
Age >= 65 & Age <= 74 ~ "65-74",
Age >= 75 & Age <= 84 ~ "75-84",
Age >= 85 ~ "85+")))
AEDB.CEA <- AEDB.CEA %>% mutate(AgeGroupSex = factor(case_when(Age < 55 & Gender == "male" ~ "<55 males" ,
Age >= 55 & Age <= 64 & Gender == "male"~ "55-64 males",
Age >= 65 & Age <= 74 & Gender == "male"~ "65-74 males",
Age >= 75 & Age <= 84 & Gender == "male"~ "75-84 males",
Age >= 85 & Gender == "male"~ "85+ males",
Age < 55 & Gender == "female" ~ "<55 females" ,
Age >= 55 & Age <= 64 & Gender == "female"~ "55-64 females ",
Age >= 65 & Age <= 74 & Gender == "female"~ "65-74 females",
Age >= 75 & Age <= 84 & Gender == "female"~ "75-84 females",
Age >= 85 & Gender == "female"~ "85+ females")))
table(AEDB.CEA$AgeGroup, AEDB.CEA$Gender)
table(AEDB.CEA$AgeGroupSex)
Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.
# ?ggpubr::ggboxplot()
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
NOT AVAILABLE YET
# compare_means(MCP1_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1_rank",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1_rank",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
Simalarly but now for the raw data as median ± interquartile range.
# ?ggpubr::ggboxplot()
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1_pg_ug_2015",
xlab = "Gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1_pg_ug_2015",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
NOT AVAILABLE YET
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
We want to create figures of MCP1 levels stratified by hypertension/blood pressure, and use of anti-hypertensive drugs.
library(dplyr)
AEDB.CEA <- AEDB.CEA %>% mutate(SBPGroup = factor(case_when(systolic < 120 ~ "<120",
systolic >= 120 & systolic <= 139 ~ "120-139",
systolic >= 140 & systolic <= 159 ~ "140-159",
systolic >= 160 ~ "160+")))
table(AEDB.CEA$SBPGroup, AEDB.CEA$Gender)
Now we can draw some graphs of plasma/plaque MCP1 levels per sex and hypertension/blood pressure group.
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SBPGroup)),
x = c("SBPGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Systolic blood pressure (mmHg) per gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport)),
x = c("Hypertension.selfreport"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Self-reported hypertension per gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport) & !is.na(Hypertension.drugs)),
x = c("Hypertension.selfreport"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Self-reported hypertension per medication use",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Hypertension.drugs",
palette = c("#49A01D", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
NOT AVAILABLE YET
ggpubr::ggboxplot(AEDB.CEA,
x = c("SBPGroup"),
y = "MCP1_rank",
xlab = "Systolic blood pressure (mmHg) per gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter")
Simalarly but now for the raw data as median ± interquartile range.
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SBPGroup)),
x = c("SBPGroup"),
y = "MCP1_pg_ug_2015",
xlab = "Systolic blood pressure (mmHg) per gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport)),
x = c("Hypertension.selfreport"),
y = "MCP1_pg_ug_2015",
xlab = "Self-reported hypertension per gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(Hypertension.selfreport) & !is.na(Hypertension.drugs)),
x = c("Hypertension.selfreport"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Self-reported hypertension per medication use",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Hypertension.drugs",
palette = c("#49A01D", "#1290D9"),
add = "jitter")
NOT AVAILABLE YET
ggpubr::ggboxplot(AEDB.CEA,
x = c("SBPGroup"),
y = "MCP1",
xlab = "Systolic blood pressure (mmHg) per gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
We want to create figures of MCP1 levels stratified by hypercholesterolemia/LDL-levels, and use of lipid-lowering drugs.
library(dplyr)
AEDB.CEA <- AEDB.CEA %>% mutate(LDLGroup = factor(case_when(LDL_finalCU < 100 ~ "<100",
LDL_finalCU >= 100 & LDL_finalCU <= 129 ~ "100-129",
LDL_finalCU >= 130 & LDL_finalCU <= 159 ~ "130-159",
LDL_finalCU >= 160 & LDL_finalCU <= 189 ~ "160-189",
LDL_finalCU >= 190 ~ "190+")))
table(AEDB.CEA$LDLGroup, AEDB.CEA$Gender)
Now we can draw some graphs of plasma/plaque MCP1 levels per sex and hypercholesterolemia/LDL-levels group, as well as stratified by lipid-lowering drugs users.
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup)),
x = c("LDLGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "LDL (mg/dL) per gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup) & !is.na(Med.Statin.LLD)),
x = c("LDLGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "LDL (mg/dL) per LLD use",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Med.Statin.LLD",
palette = c("#49A01D", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
NOT AVAILABLE YET
# compare_means(MCP1_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1_rank",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1_rank",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
Simalarly but now for the raw data as median ± interquartile range.
# ?ggpubr::ggboxplot()
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup)),
x = c("LDLGroup"),
y = "MCP1_pg_ug_2015",
xlab = "LDL (mg/dL) per gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(LDLGroup) & !is.na(Med.Statin.LLD)),
x = c("LDLGroup"),
y = "MCP1_pg_ug_2015",
xlab = "LDL (mg/dL) per LLD use",
ylab = "MCP1 plaque [pg/ug]",
color = "Med.Statin.LLD",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
NOT AVAILABLE YET
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
We want to create figures of MCP1 levels stratified by kidney function.
library(dplyr)
AEDB.CEA <- AEDB.CEA %>% mutate(eGFRGroup = factor(case_when(GFR_MDRD < 15 ~ "<15",
GFR_MDRD >= 15 & GFR_MDRD <= 29 ~ "15-29",
GFR_MDRD >= 30 & GFR_MDRD <= 59 ~ "30-59",
GFR_MDRD >= 60 & GFR_MDRD <= 89 ~ "60-89",
GFR_MDRD >= 90 ~ "90+")))
table(AEDB.CEA$eGFRGroup, AEDB.CEA$Gender)
table(AEDB.CEA$eGFRGroup, AEDB.CEA$KDOQI)
Now we can draw some graphs of plasma/plaque MCP1 levels per sex and kidney function group.
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup)),
x = c("eGFRGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "eGFR (mL/min per 1.73 m2) per gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(KDOQI)),
x = c("KDOQI"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Kidney function (KDOQI) per gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p1 + rotate_x_text(45), legend = "right")
rm(p1)
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup) & !is.na(KDOQI)),
x = c("eGFRGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "eGFR (mL/min per 1.73 m2) by KDOQI group",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "KDOQI",
palette = "npg",
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
NOT AVAILABLE YET
# compare_means(MCP1_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1_rank",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1_rank",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
Simalarly but now for the raw data as median ± interquartile range.
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup)),
x = c("eGFRGroup"),
y = "MCP1_pg_ug_2015",
xlab = "eGFR (mL/min per 1.73 m2) per gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(KDOQI)),
x = c("KDOQI"),
y = "MCP1_pg_ug_2015",
xlab = "Kidney function (KDOQI) per gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p1 + rotate_x_text(45), legend = "right")
rm(p1)
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(eGFRGroup) & !is.na(KDOQI)),
x = c("eGFRGroup"),
y = "MCP1_pg_ug_2015",
xlab = "eGFR (mL/min per 1.73 m2) by KDOQI group",
ylab = "MCP1 plaque [pg/ug]",
color = "KDOQI",
palette = "npg",
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
NOT AVAILABLE YET
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
We want to create figures of MCP1 levels stratified by BMI.
library(dplyr)
AEDB.CEA <- AEDB.CEA %>% mutate(BMIGroup = factor(case_when(BMI < 18.5 ~ "<18.5",
BMI >= 18.5 & BMI < 25 ~ "18.5-24",
BMI >= 25 & BMI < 30 ~ "25-29",
BMI >= 30 & BMI < 35 ~ "30-35",
BMI >= 35 ~ "35+")))
# require(labelled)
# AEDB.CEA$BMI_US <- as_factor(AEDB.CEA$BMI_US)
# AEDB.CEA$BMI_WHO <- as_factor(AEDB.CEA$BMI_WHO)
# table(AEDB.CEA$BMI_WHO, AEDB.CEA$BMI_US)
table(AEDB.CEA$BMIGroup, AEDB.CEA$Gender)
table(AEDB.CEA$BMIGroup, AEDB.CEA$BMI_WHO)
Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)),
x = c("BMIGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "BMI groups (kg/m2)",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
# color = "Gender",
# palette = c("#D5267B", "#1290D9"),
color = "#1290D9",
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)),
x = c("BMIGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "BMI groups (kg/m2)",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup) & !is.na(BMI_WHO)),
x = c("AgeGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "BMI groups (kg/m2) per WHO categories",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "BMI_WHO",
palette = "npg",
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
NOT AVAILABLE YET
# compare_means(MCP1_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1_rank",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1_rank",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
Simalarly but now for the raw data as median ± interquartile range.
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)),
x = c("BMIGroup"),
y = "MCP1_pg_ug_2015",
xlab = "BMI groups (kg/m2)",
ylab = "MCP1 plaque [pg/ug]",
# color = "Gender",
# palette = c("#D5267B", "#1290D9"),
color = "#1290D9",
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup)),
x = c("BMIGroup"),
y = "MCP1_pg_ug_2015",
xlab = "BMI groups (kg/m2)",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(BMIGroup) & !is.na(BMI_WHO)),
x = c("AgeGroup"),
y = "MCP1_pg_ug_2015",
xlab = "BMI groups (kg/m2) per WHO categories",
ylab = "MCP1 plaque [pg/ug]",
color = "BMI_WHO",
palette = "npg",
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p1, legend = "right")
rm(p1)
NOT AVAILABLE YET
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
We want to create figures of MCP1 levels stratified by type 2 diabetes.
Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)),
x = c("DiabetesStatus"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Diabetes status",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
# color = "Gender",
# palette = c("#D5267B", "#1290D9"),
color = "#1290D9",
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)),
x = c("DiabetesStatus"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Diabetes status per gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
NOT AVAILABLE YET
# compare_means(MCP1_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1_rank",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1_rank",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
Simalarly but now for the raw data as median ± interquartile range.
# Global test
# compare_means(MCP1_pg_ug_2015 ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)),
x = c("DiabetesStatus"),
y = "MCP1_pg_ug_2015",
xlab = "Diabetes status",
ylab = "MCP1 plaque [pg/ug]",
# color = "Gender",
# palette = c("#D5267B", "#1290D9"),
color = "#1290D9",
add = c("median_iqr", "jitter")) #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015 ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(DiabetesStatus)),
x = c("DiabetesStatus"),
y = "MCP1_pg_ug_2015",
xlab = "Diabetes status per gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = c("median_iqr", "jitter")) #+
# stat_compare_means(method = "kruskal.test")
NOT AVAILABLE YET
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
We want to create figures of MCP1 levels stratified by smoking.
Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)),
x = c("SmokerStatus"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Smoker status",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
# color = "Gender",
# palette = c("#D5267B", "#1290D9"),
color = "#1290D9",
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)),
x = c("SmokerStatus"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Smoker status per gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
NOT AVAILABLE YET
# compare_means(MCP1_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1_rank",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1_rank",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
Simalarly but now for the raw data as median ± interquartile range.
# Global test
# compare_means(MCP1_pg_ug_2015 ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)),
x = c("SmokerStatus"),
y = "MCP1_pg_ug_2015",
xlab = "Smoker status",
ylab = "MCP1 plaque [pg/ug]",
# color = "Gender",
# palette = c("#D5267B", "#1290D9"),
color = "#1290D9",
add = c("median_iqr", "jitter")) #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015 ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(SmokerStatus)),
x = c("SmokerStatus"),
y = "MCP1_pg_ug_2015",
xlab = "Smoker status per gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = c("median_iqr", "jitter")) #+
# stat_compare_means(method = "kruskal.test")
NOT AVAILABLE YET
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
We want to create figures of MCP1 levels stratified by stenosis grade.
library(dplyr)
AEDB.CEA <- AEDB.CEA %>% mutate(StenoticGroup = factor(case_when(stenose == "0-49%" ~ "<70",
stenose == "0-49%" ~ "<70",
stenose == "50-70%" ~ "<70",
stenose == "70-90%" ~ "70-89",
stenose == "50-99%" ~ "90+",
stenose == "70-99%" ~ "90+",
stenose == "100% (Occlusion)" ~ "90+",
stenose == "90-99%" ~ "90+")))
table(AEDB.CEA$StenoticGroup, AEDB.CEA$Gender)
table(AEDB.CEA$stenose, AEDB.CEA$StenoticGroup)
Now we can draw some graphs of plasma/plaque MCP1 levels per sex and age group.
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)),
x = c("StenoticGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Stenotic grade",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
# color = "Gender",
# palette = c("#D5267B", "#1290D9"),
color = "#1290D9",
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)),
x = c("StenoticGroup"),
y = "MCP1_pg_ug_2015_rank",
xlab = "Stenotic grade per gender",
ylab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
NOT AVAILABLE YET
# compare_means(MCP1_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1_rank",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1_rank",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
Simalarly but now for the raw data as median ± interquartile range.
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)),
x = c("StenoticGroup"),
y = "MCP1_pg_ug_2015",
xlab = "Stenotic grade",
ylab = "MCP1 plaque [pg/ug]",
# color = "Gender",
# palette = c("#D5267B", "#1290D9"),
color = "#1290D9",
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
ggpubr::ggboxplot(AEDB.CEA %>% filter(!is.na(StenoticGroup)),
x = c("StenoticGroup"),
y = "MCP1_pg_ug_2015",
xlab = "Stenotic grade per gender",
ylab = "MCP1 plaque [pg/ug]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
NOT AVAILABLE YET
ggpubr::ggboxplot(AEDB.CEA,
x = c("Gender"),
y = "MCP1",
xlab = "Gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
ggpubr::ggboxplot(AEDB.CEA,
x = c("AgeGroup"),
y = "MCP1",
xlab = "Age groups (years) per gender",
ylab = "MCP1 plasma [pg/mL]",
color = "Gender",
palette = c("#D5267B", "#1290D9"),
# add = "median_iqr")
add = c("median_iqr", "jitter"))
We will also make a nice correlation plot between plasma and plaque MCP1 levels.
NOT AVAILABLE YET
ggpubr::ggscatter(AEDB.CEA,
x = "MCP1_pg_ug_2015",
y = "MCP1",
xlab = "MCP1 plaque [pg/ug]",
ylab = "MCP1 plasma [pg/mL]",
add = "reg.line", add.params = list(color = "#1290D9"),
conf.int = TRUE,
cor.coef = TRUE, cor.coeff.args = list(method = "spearman"), cor.coef.coord = c(8,750))
ggpubr::ggscatter(AEDB.CEA,
x = "MCP1_pg_ug_2015_rank",
y = "MCP1_rank",
xlab = "MCP1 plaque [pg/ug]\n(inverse-rank transformation)",
ylab = "MCP1 plasma [pg/mL]\n(inverse-rank transformation)",
add = "reg.line", add.params = list(color = "#1290D9"),
conf.int = TRUE,
cor.coef = TRUE, cor.coeff.args = list(method = "spearman"), cor.coef.coord = c(2,3))
We will also make a nice correlation plot between the two experiments of plaque MCP1 levels.
AEDB.CEA$MCP1_rank <- qnorm((rank(AEDB.CEA$MCP1, na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA$MCP1)))
summary(AEDB.CEA$MCP1)
summary(AEDB.CEA$MCP1_pg_ug_2015)
ggpubr::ggscatter(AEDB.CEA,
x = "MCP1",
y = "MCP1_pg_ug_2015",
xlab = "MCP1 plaque [pg/mL] (exp. no. 1)",
ylab = "MCP1 plaque [pg/ug] (exp. no. 2)",
add = "reg.line", add.params = list(color = "#1290D9"),
conf.int = TRUE,
cor.coef = TRUE, cor.coeff.args = list(method = "spearman"))
ggpubr::ggscatter(AEDB.CEA,
x = "MCP1_rank",
y = "MCP1_pg_ug_2015_rank",
xlab = "MCP1 plaque [pg/mL]\n(INRT, exp. no. 1)",
ylab = "MCP1 plaque [pg/ug]\n(INRT, exp. no. 2)",
add = "reg.line", add.params = list(color = "#1290D9"),
conf.int = TRUE,
cor.coef = TRUE, cor.coeff.args = list(method = "spearman"))
We want to create per-symptom figures.
library(dplyr)
table(AEDB.CEA$AgeGroup, AEDB.CEA$AsymptSympt2G)
table(AEDB.CEA$Gender, AEDB.CEA$AsymptSympt2G)
table(AEDB.CEA$AsymptSympt2G)
Now we can draw some graphs of plasma/plaque MCP1 levels per symptom group.
# ?ggpubr::ggboxplot()
my_comparisons <- list(c("Asymptomatic", "Symptomatic"))
p1 <- ggpubr::ggboxplot(AEDB.CEA,
x = "AsymptSympt2G", y = "MCP1_pg_ug_2015_rank",
title = "MCP1 plaque [pg/ug] levels per symptom",
xlab = "Symptoms",
ylab = "MCP1 plaque [pg/ug]\n inverse-rank transformation",
color = "AsymptSympt2G",
palette = c(uithof_color[16], uithof_color[23]),
add = "dotplot", # Add dotplot
add.params = list(binwidth = 0.1, dotsize = 0.3)
) +
stat_compare_means(comparisons = my_comparisons, method = "wilcox.test")
ggpar(p1, legend = c("right"), legend.title = "Symptoms")
p1 <- ggpubr::ggboxplot(AEDB.CEA,
x = "AsymptSympt2G", y = "MCP1_rank",
title = "MCP1 plasma [pg/mL] levels per symptom",
xlab = "Symptoms",
ylab = "MCP1 plasma [pg/mL]\n inverse-rank transformation",
color = "AsymptSympt2G",
palette = c(uithof_color[16], uithof_color[23]),
add = "dotplot", # Add dotplot
add.params = list(binwidth = 0.1, dotsize = 0.3)
) +
stat_compare_means(comparisons = my_comparisons, method = "wilcox.test")
ggpar(p1, legend = c("right"), legend.title = "Symptoms")
rm(p1)
We would also like to visualize the multivariable analyses results.
library(ggplot2)
library(openxlsx)
model1_mcp1 <- read.xlsx(paste0(OUT_loc, "/", Today, ".AEDB.CEA.Bin.Uni.Protein.RANK.Symptoms.MODEL1.xlsx"))
model2_mcp1 <- read.xlsx(paste0(OUT_loc, "/", Today, ".AEDB.CEA.Bin.Multi.Protein.RANK.Symptoms.MODEL2.xlsx"))
model1_mcp1$model <- "univariate"
model2_mcp1$model <- "multivariate"
models_mcp1 <- rbind(model1_mcp1, model2_mcp1)
models_mcp1
dat <- data.frame(group = factor(c("Age, sex-adjusted", "Age, sex, and adjusted for risk factors"),
levels=c("Age, sex, and adjusted for risk factors", "Age, sex-adjusted")),
cen = c(models_mcp1$OR[models_mcp1$Predictor=="MCP1_pg_ug_2015_rank"]),
low = c(models_mcp1$low95CI[models_mcp1$Predictor=="MCP1_pg_ug_2015_rank"]),
high = c(models_mcp1$up95CI[models_mcp1$Predictor=="MCP1_pg_ug_2015_rank"]))
fp <- ggplot(data = dat, aes(x = group, y = cen, ymin = low, ymax = high)) +
geom_pointrange(linetype = 2, size = 1, colour = c("#1290D9", "#49A01D")) +
geom_hline(yintercept = 1, lty = 2) + # add a dotted line at x=1 after flip
coord_flip(ylim = c(0.8, 1.7)) + # flip coordinates (puts labels on y axis)
xlab("Model") + ylab("OR (95% CI) for symptomatic plaques") +
ggtitle("Plaque MCP-1 levels (1 SD increment)") +
theme_minimal() # use a white background
print(fp)
rm(fp)
dat <- data.frame(group = factor(c("Age, sex-adjusted", "Age, sex, and adjusted for risk factors"),
levels=c("Age, sex, and adjusted for risk factors", "Age, sex-adjusted")),
cen = c(models_mcp1$OR[models_mcp1$Predictor=="MCP1_rank"]),
low = c(models_mcp1$low95CI[models_mcp1$Predictor=="MCP1_rank"]),
high = c(models_mcp1$up95CI[models_mcp1$Predictor=="MCP1_rank"]))
fp <- ggplot(data=dat, aes(x=group, y=cen, ymin=low, ymax=high)) +
geom_pointrange() +
geom_hline(yintercept=1, lty=2) + # add a dotted line at x=1 after flip
coord_flip() + # flip coordinates (puts labels on y axis)
xlab("Model") + ylab("OR (95% CI) for symptomatic plaques") +
theme(text = element_text(size=14)) +
ggtitle("plasma MCP-1 levels (1 SD increment)") +
theme_minimal() # use a white background
print(fp)
rm(fp)
We will plot the correlations of other cytokine plaque levels to the MCP1 plaque levels. These include:
In addition we will look at three metalloproteinases which were measured using an activity assay.
The proteins were measured using FACS and LUMINEX. Given the different platforms used (FACS vs. LUMINEX), we will inverse rank-normalize these variables as well to scale them to the same scale as the MCP1 plaque levels.
We will set the measurements that yielded ‘0’ to NA, as it is unlikely that any protein ever has exactly 0 copies. The ‘0’ yielded during the experiment are due to the limits of the detection.
cytokines <- c("IL2", "IL4", "IL5", "IL6", "IL8", "IL9", "IL10", "IL12", "IL13", "IL21",
"INFG", "TNFA", "MIF", "MCP1", "MIP1a", "RANTES", "MIG", "IP10", "Eotaxin1",
"TARC", "PARC", "MDC", "OPG", "sICAM1", "VEGFA", "TGFB")
metalloproteinases <- c("MMP2", "MMP8", "MMP9")
# fix names
names(AEDB.CEA)[names(AEDB.CEA) == "VEFGA"] <- "VEGFA"
proteins_of_interest <- c(cytokines, metalloproteinases)
proteins_of_interest_rank = unlist(lapply(proteins_of_interest, paste0, "_rank"))
# make variables numerics()
AEDB.CEA <- AEDB.CEA %>%
mutate_each(funs(as.numeric), proteins_of_interest)
for(PROTEIN in 1:length(proteins_of_interest)){
# UCORBIOGSAqc$Z <- NULL
var.temp.rank = proteins_of_interest_rank[PROTEIN]
var.temp = proteins_of_interest[PROTEIN]
cat(paste0("\nSelecting ", var.temp, " and standardising: ", var.temp.rank,".\n"))
cat(paste0("* changing ", var.temp, " to numeric.\n"))
# AEDB.CEA <- AEDB.CEA %>% mutate(AEDB.CEA[,var.temp] == replace(AEDB.CEA[,var.temp], AEDB.CEA[,var.temp]==0, NA))
AEDB.CEA[,var.temp][AEDB.CEA[,var.temp]==0.000000]=NA
cat(paste0("* standardising ", var.temp,
" (mean: ",round(mean(!is.na(AEDB.CEA[,var.temp])), digits = 6),
", n = ",sum(!is.na(AEDB.CEA[,var.temp])),").\n"))
AEDB.CEA <- AEDB.CEA %>%
mutate_at(vars(var.temp),
# list(Z = ~ (AEDB.CEA[,var.temp] - mean(AEDB.CEA[,var.temp], na.rm = TRUE))/sd(AEDB.CEA[,var.temp], na.rm = TRUE))
list(RANK = ~ qnorm((rank(AEDB.CEA[,var.temp], na.last = "keep") - 0.5) / sum(!is.na(AEDB.CEA[,var.temp]))))
)
# str(UCORBIOGSAqc$Z)
cat(paste0("* renaming RANK to ", var.temp.rank,".\n"))
AEDB.CEA[,var.temp.rank] <- NULL
names(AEDB.CEA)[names(AEDB.CEA) == "RANK"] <- var.temp.rank
}
# rm(var.temp, var.temp.rank)
We will just visualize these transformations.
proteins_of_interest_rank_mcp1 <- c("MCP1_pg_ug_2015_rank", "MCP1_pg_ml_2015_rank", proteins_of_interest_rank)
proteins_of_interest_mcp1 <- c("MCP1_pg_ug_2015", "MCP1_pg_ml_2015", proteins_of_interest)
for(PROTEIN in proteins_of_interest_mcp1){
cat(paste0("Plotting protein ", PROTEIN, ".\n"))
p1 <- ggpubr::gghistogram(AEDB.CEA, PROTEIN,
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
title = paste0(PROTEIN, " plaque levels"),
xlab = "",
ggtheme = theme_minimal())
print(p1)
}
for(PROTEIN in proteins_of_interest_rank_mcp1){
cat(paste0("Plotting protein ", PROTEIN, ".\n"))
p1 <- ggpubr::gghistogram(AEDB.CEA, PROTEIN,
# y = "..count..",
color = "white",
fill = "Gender",
palette = c("#1290D9", "#DB003F"),
add = "mean",
# rug = TRUE,
# add.params = list(color = "black", linetype = 2),
title = paste0(PROTEIN, " plaque levels"),
xlab = "inverse-normal transformation",
ggtheme = theme_minimal())
print(p1)
}
Here we calculate correlations between MCP1_pg_ug_2015 and 28 other cytokines (including MCP1 as measured in experiment 1. We use Spearman’s test, thus, correlations a given in rho. Please note the indications of measurement methods:
# Installation of ggcorrplot()
# --------------------------------
if(!require(devtools))
install.packages("devtools")
devtools::install_github("kassambara/ggcorrplot")
library(ggcorrplot)
# Creating matrix - inverse-rank transformation
# --------------------------------
AEDB.CEA.temp <- subset(AEDB.CEA,
select = c(proteins_of_interest_rank_mcp1)
)
# str(AEDB.CEA.temp)
AEDB.CEA.matrix.RANK <- as.matrix(AEDB.CEA.temp)
rm(AEDB.CEA.temp)
corr_biomarkers.rank <- round(cor(AEDB.CEA.matrix.RANK,
use = "pairwise.complete.obs", #the correlation or covariance between each pair of variables is computed using all complete pairs of observations on those variables
method = "spearman"), 3)
# corr_biomarkers.rank
rename_proteins_of_interest_mcp1 <- c("MCP1 (L, exp2, pg/ug)", "MCP1 (L, exp2, pg/mL)",
"IL2", "IL4", "IL5", "IL6", "IL8", "IL9", "IL10", "IL12",
"IL13 (L)", "IL21 (L)",
"INFG", "TNFA", "MIF (L)",
"MCP1 (L, exp1)", "MIP1a (L)", "RANTES (L)", "MIG (L)", "IP10 (L)",
"Eotaxin1 (L)", "TARC (L)", "PARC (L)", "MDC (L)",
"OPG (L)", "sICAM1 (L)", "VEGFA (E)", "TGFB (E)", "MMP2 (a)", "MMP8 (a)", "MMP9 (a)")
colnames(corr_biomarkers.rank) <- c(rename_proteins_of_interest_mcp1)
rownames(corr_biomarkers.rank) <- c(rename_proteins_of_interest_mcp1)
corr_biomarkers_p.rank <- ggcorrplot::cor_pmat(AEDB.CEA.matrix.RANK, use = "pairwise.complete.obs", method = "spearman")
# ++++++++++++++++++++++++++++
# flattenCorrMatrix
# ++++++++++++++++++++++++++++
# cormat : matrix of the correlation coefficients
# pmat : matrix of the correlation p-values
flattenCorrMatrix <- function(cormat, pmat) {
ut <- upper.tri(cormat)
data.frame(
row = rownames(cormat)[row(cormat)[ut]],
column = rownames(cormat)[col(cormat)[ut]],
cor =(cormat)[ut],
p = pmat[ut]
)
}
corr_biomarkers.rank.df <- flattenCorrMatrix(corr_biomarkers.rank, corr_biomarkers_p.rank)
names(corr_biomarkers.rank.df)[names(corr_biomarkers.rank.df) == "row"] <- "Cytokine_X"
names(corr_biomarkers.rank.df)[names(corr_biomarkers.rank.df) == "column"] <- "CytokineY"
names(corr_biomarkers.rank.df)[names(corr_biomarkers.rank.df) == "cor"] <- "SpearmanRho"
DT::datatable(corr_biomarkers.rank.df)
fwrite(corr_biomarkers.rank.df, file = paste0(OUT_loc, "/",Today,".correlation_cytokines.txt"))
# Add correlation coefficients
# --------------------------------
# argument lab = TRUE
p1 <- ggcorrplot(corr_biomarkers.rank,
method = "square",
type = "lower",
title = "Cross biomarker correlations",
show.legend = TRUE, legend.title = bquote("Spearman's"~italic(rho)),
ggtheme = ggplot2::theme_minimal, outline.color = "#FFFFFF",
show.diag = TRUE,
hc.order = FALSE,
lab = FALSE,
digits = 3,
tl.cex = 6,
# xlab = c("MCP1"),
# p.mat = corr_biomarkers_p.rank, sig.level = 0.05,
colors = c("#1290D9", "#FFFFFF", "#E55738"))
p1
ggsave(filename = paste0(PLOT_loc, "/", Today, ".correlation_cytokines.png"), plot = last_plot())
rm(p1)
While visually actractive we are not necessarily interested in the correlations between all the cytokines, rather of MCP1 with other cytokines only.
temp <- subset(corr_biomarkers.rank.df, Cytokine_X == "MCP1 (L, exp2, pg/ug)" )
temp$p_log10 <- -log10(temp$p)
p_threshold <- -log10(0.05/29)
p_threshold
p1 <- ggbarplot(temp, x = "CytokineY", y = "SpearmanRho",
fill = "CytokineY", # change fill color by cyl
# color = "white", # Set bar border colors to white
palette = uithof_color, # jco journal color palett. see ?ggpar
xlab = "Cytokine",
ylab = expression("Spearman's"~italic(rho)),
sort.val = "desc", # Sort the value in dscending order
sort.by.groups = FALSE, # Don't sort inside each group
x.text.angle = 45, # Rotate vertically x axis texts
cex = 0.8
)
ggpar(p1, legend = "bottom",
legend.title = "") +
theme(axis.text.x = element_text(size = 9),
axis.text.y = element_text(size = 9))
rm(p1)
temp <- subset(corr_biomarkers.rank.df, Cytokine_X == "MCP1 (L, exp2, pg/mL)" )
temp$p_log10 <- -log10(temp$p)
p_threshold <- -log10(0.05/29)
p_threshold
p1 <- ggbarplot(temp, x = "CytokineY", y = "SpearmanRho",
fill = "CytokineY", # change fill color by cyl
# color = "white", # Set bar border colors to white
palette = uithof_color, # jco journal color palett. see ?ggpar
xlab = "Cytokine",
ylab = expression("Spearman's"~italic(rho)),
sort.val = "desc", # Sort the value in dscending order
sort.by.groups = FALSE, # Don't sort inside each group
x.text.angle = 45, # Rotate vertically x axis texts
cex = 0.8
)
ggpar(p1, legend = "bottom",
legend.title = "") +
theme(axis.text.x = element_text(size = 9),
axis.text.y = element_text(size = 9))
rm(p1)
Another version - problably not good.
p1 <- ggdotchart(temp, x = "CytokineY", y = "p_log10",
color = "CytokineY", # Color by groups
palette = uithof_color, # Custom color palette
xlab = "Cytokine",
ylab = expression(log[10]~"("~italic(p)~")-value"),
ylim = c(0, 6),
sorting = "descending", # Sort value in descending order
add = "segments", # Add segments from y = 0 to dots
rotate = FALSE, # Rotate vertically
# group = "CytokineY", # Order by groups
dot.size = 8, # Large dot size
label = round(temp$SpearmanRho, digits = 3), # Add mpg values as dot labels
font.label = list(color = "white", size = 8,
vjust = 0.5)
)
ggpar(p1, legend = "bottom",
legend.title = "") +
theme(axis.text.x = element_text(size = 9),
axis.text.y = element_text(size = 9))
rm(temp, p1)
lm()In this model we correct for Age, Gender, and year of surgery.
Here we use the inverse-rank normalized data - visually this is more normally distributed.
Analysis of plaque cytokines traits as a function of plasma/plaque MCP1 levels.
GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
PROTEIN = TRAITS.PROTEIN.RANK[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
for (trait in 1:length(proteins_of_interest_rank)) {
TRAIT = proteins_of_interest_rank[trait]
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
### univariate
fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year, data = currentDF)
model_step <- stepAIC(fit, direction = "both", trace = FALSE)
print(model_step)
print(summary(fit))
GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
GLM.results = rbind(GLM.results, GLM.results.TEMP)
}
}
cat("Edit the column names...\n")
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
"Beta", "s.e.m.",
"OR", "low95CI", "up95CI",
"T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")
cat("Correct the variable types...\n")
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
DT::datatable(GLM.results)
# Save the data
cat("Writing results to Excel-file...\n")
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Uni.MCP1_Plaque.Cytokines_Plaques.RANK.MODEL1.xlsx"),
row.names = FALSE, col.names = TRUE, sheetName = "Con.Uni.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)
In this model we correct for Age, Gender, year of surgery, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis.
Here we use the inverse-rank normalized data - visually this is more normally distributed.
Analysis of plaque cytokines as a function of plasma/plaque MCP1 levels.
GLM.results <- data.frame(matrix(NA, ncol = 15, nrow = 0))
cat("Running linear regression...\n")
for (protein in 1:length(TRAITS.PROTEIN.RANK)) {
PROTEIN = TRAITS.PROTEIN.RANK[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
for (trait in 1:length(proteins_of_interest_rank)) {
TRAIT = proteins_of_interest_rank[trait]
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
### univariate
fit <- lm(currentDF[,PROTEIN] ~ currentDF[,TRAIT] + Age + Gender + ORdate_year +
Hypertension.composite + DiabetesStatus + SmokerStatus +
Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
MedHx_CVD + stenose,
data = currentDF)
model_step <- stepAIC(fit, direction = "both", trace = FALSE)
print(model_step)
print(summary(fit))
GLM.results.TEMP <- data.frame(matrix(NA, ncol = 15, nrow = 0))
GLM.results.TEMP[1,] = GLM.CON(fit, "AEDB.CEA", PROTEIN, TRAIT, verbose = TRUE)
GLM.results = rbind(GLM.results, GLM.results.TEMP)
}
}
cat("Edit the column names...\n")
colnames(GLM.results) = c("Dataset", "Predictor", "Trait",
"Beta", "s.e.m.",
"OR", "low95CI", "up95CI",
"T-value", "P-value", "r^2", "r^2_adj", "AE_N", "Model_N", "Perc_Miss")
cat("Correct the variable types...\n")
GLM.results$Beta <- as.numeric(GLM.results$Beta)
GLM.results$s.e.m. <- as.numeric(GLM.results$s.e.m.)
GLM.results$OR <- as.numeric(GLM.results$OR)
GLM.results$low95CI <- as.numeric(GLM.results$low95CI)
GLM.results$up95CI <- as.numeric(GLM.results$up95CI)
GLM.results$`T-value` <- as.numeric(GLM.results$`T-value`)
GLM.results$`P-value` <- as.numeric(GLM.results$`P-value`)
GLM.results$`r^2` <- as.numeric(GLM.results$`r^2`)
GLM.results$`r^2_adj` <- as.numeric(GLM.results$`r^2_adj`)
GLM.results$`AE_N` <- as.numeric(GLM.results$`AE_N`)
GLM.results$`Model_N` <- as.numeric(GLM.results$`Model_N`)
GLM.results$`Perc_Miss` <- as.numeric(GLM.results$`Perc_Miss`)
DT::datatable(GLM.results)
# Save the data
cat("Writing results to Excel-file...\n")
### Univariate
library(openxlsx)
write.xlsx(GLM.results,
file = paste0(OUT_loc, "/",Today,".AEDB.CEA.Con.Multi.MCP1_Plaque.Cytokines_Plaques.RANK.MODEL2.xlsx"),
row.names = FALSE, col.names = TRUE, sheetName = "Con.Multi.PlaquePheno")
# Removing intermediates
cat("Removing intermediate files...\n")
rm(TRAIT, trait, currentDF, GLM.results, GLM.results.TEMP, fit, model_step)
Here we calculate the plaque instability/vulnerability index
# Plaque vulnerability
table(AEDB.CEA$Macrophages.bin)
table(AEDB.CEA$Fat.bin_10)
table(AEDB.CEA$Collagen.bin)
table(AEDB.CEA$SMC.bin)
table(AEDB.CEA$IPH.bin)
# SPSS code
#
# *** syntax- Plaque vulnerability**.
# COMPUTE Macro_instab = -999.
# IF macrophages.bin=2 Macro_instab=1.
# IF macrophages.bin=1 Macro_instab=0.
# EXECUTE.
#
# COMPUTE Fat10_instab = -999.
# IF Fat.bin_10=2 Fat10_instab=1.
# IF Fat.bin_10=1 Fat10_instab=0.
# EXECUTE.
#
# COMPUTE coll_instab=-999.
# IF Collagen.bin=2 coll_instab=0.
# IF Collagen.bin=1 coll_instab=1.
# EXECUTE.
#
#
# COMPUTE SMC_instab=-999.
# IF SMC.bin=2 SMC_instab=0.
# IF SMC.bin=1 SMC_instab=1.
# EXECUTE.
#
# COMPUTE IPH_instab=-999.
# IF IPH.bin=0 IPH_instab=0.
# IF IPH.bin=1 IPH_instab=1.
# EXECUTE.
#
# COMPUTE Instability=Macro_instab + Fat10_instab + coll_instab + SMC_instab + IPH_instab.
# EXECUTE.
# Fix plaquephenotypes
attach(AEDB.CEA)
# mac instability
AEDB.CEA[,"MAC_Instability"] <- NA
AEDB.CEA$MAC_Instability[Macrophages.bin == -999] <- NA
AEDB.CEA$MAC_Instability[Macrophages.bin == "no/minor"] <- 0
AEDB.CEA$MAC_Instability[Macrophages.bin == "moderate/heavy"] <- 1
# fat instability
AEDB.CEA[,"FAT10_Instability"] <- NA
AEDB.CEA$FAT10_Instability[Fat.bin_10 == -999] <- NA
AEDB.CEA$FAT10_Instability[Fat.bin_10 == " <10%"] <- 0
AEDB.CEA$FAT10_Instability[Fat.bin_10 == " >10%"] <- 1
# col instability
AEDB.CEA[,"COL_Instability"] <- NA
AEDB.CEA$COL_Instability[Collagen.bin == -999] <- NA
AEDB.CEA$COL_Instability[Collagen.bin == "no/minor"] <- 1
AEDB.CEA$COL_Instability[Collagen.bin == "moderate/heavy"] <- 0
# smc instability
AEDB.CEA[,"SMC_Instability"] <- NA
AEDB.CEA$SMC_Instability[SMC.bin == -999] <- NA
AEDB.CEA$SMC_Instability[SMC.bin == "no/minor"] <- 1
AEDB.CEA$SMC_Instability[SMC.bin == "moderate/heavy"] <- 0
# iph instability
AEDB.CEA[,"IPH_Instability"] <- NA
AEDB.CEA$IPH_Instability[IPH.bin == -999] <- NA
AEDB.CEA$IPH_Instability[IPH.bin == "no"] <- 0
AEDB.CEA$IPH_Instability[IPH.bin == "yes"] <- 1
detach(AEDB.CEA)
table(AEDB.CEA$MAC_Instability, useNA = "ifany")
table(AEDB.CEA$FAT10_Instability, useNA = "ifany")
table(AEDB.CEA$COL_Instability, useNA = "ifany")
table(AEDB.CEA$SMC_Instability, useNA = "ifany")
table(AEDB.CEA$IPH_Instability, useNA = "ifany")
# creating vulnerability index
AEDB.CEA <- AEDB.CEA %>% mutate(Plaque_Vulnerability_Index = factor(rowSums(.[grep("_Instability", names(.))], na.rm = TRUE)),
)
table(AEDB.CEA$Plaque_Vulnerability_Index, useNA = "ifany")
# str(AEDB.CEA$Plaque_Vulnerability_Index)
Here we plot the levels of inverse-rank normal transformed MCP1 plaque levels from experiment 1 and 2 to the Plaque vulnerability index.
library(sjlabelled)
attach(AEDB.CEA)
AEDB.CEA$yeartemp <- as.numeric(year(AEDB.CEA$dateok))
AEDB.CEA[,"ORyearGroup"] <- NA
AEDB.CEA$ORyearGroup[yeartemp <= 2007] <- "< 2007"
AEDB.CEA$ORyearGroup[yeartemp > 2007] <- "> 2007"
detach(AEDB.CEA)
table(AEDB.CEA$ORyearGroup, AEDB.CEA$ORdate_year)
# Global test
# compare_means(MCP1_pg_ug_2015_rank ~ Gender, data = AEDB.CEA, method = "wilcox.test")
p1 <- ggpubr::ggboxplot(AEDB.CEA,
x = "Plaque_Vulnerability_Index",
y = "MCP1_pg_ug_2015_rank",
xlab = "Plaque vulnerability index",
ylab = "MCP1 plaque [pg/ug]\n(INT, exp 2)",
color = "Plaque_Vulnerability_Index",
palette = "npg",
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
ggpar(p1, legend = "bottom", legend.title = "Plaque vulnerability index")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p2 <- ggpubr::ggboxplot(AEDB.CEA,
x = "Plaque_Vulnerability_Index",
y = "MCP1_pg_ml_2015_rank",
xlab = "Plaque vulnerability index",
ylab = "MCP1 plaque [pg/mL]\n(INT, exp 2)",
color = "Plaque_Vulnerability_Index",
palette = "npg",
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p2, legend = "bottom", legend.title = "Plaque vulnerability index")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p3 <- ggpubr::ggboxplot(AEDB.CEA,
x = "Plaque_Vulnerability_Index",
y = "MCP1_rank",
xlab = "Plaque vulnerability index",
ylab = "MCP1 plaque [pg/mL]\n(INT, exp 1)",
color = "Plaque_Vulnerability_Index",
palette = "npg",
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p3, legend = "bottom", legend.title = "Plaque vulnerability index")
p1 <- ggpubr::ggboxplot(AEDB.CEA,
x = "Plaque_Vulnerability_Index",
y = "MCP1_pg_ug_2015_rank",
xlab = "Plaque vulnerability index",
ylab = "MCP1 plaque [pg/ug]\n(INT, exp 2)",
color = "Plaque_Vulnerability_Index",
palette = "npg",
facet.by = "ORyearGroup",
add = "jitter") #+
# stat_compare_means(method = "wilcox.test")
ggpar(p1, legend = "bottom", legend.title = "Plaque vulnerability index")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p2 <- ggpubr::ggboxplot(AEDB.CEA,
x = "Plaque_Vulnerability_Index",
y = "MCP1_pg_ml_2015_rank",
xlab = "Plaque vulnerability index",
ylab = "MCP1 plaque [pg/mL]\n(INT, exp 2)",
color = "Plaque_Vulnerability_Index",
palette = "npg",
facet.by = "ORyearGroup",
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p2, legend = "bottom", legend.title = "Plaque vulnerability index")
# compare_means(MCP1_pg_ug_2015_rank ~ AgeGroup, data = AEDB.CEA, method = "kruskal.test")
p3 <- ggpubr::ggboxplot(AEDB.CEA,
x = "Plaque_Vulnerability_Index",
y = "MCP1_rank",
xlab = "Plaque vulnerability index",
ylab = "MCP1 plaque [pg/mL]\n(INT, exp 1)",
color = "Plaque_Vulnerability_Index",
palette = "npg",
facet.by = "ORyearGroup",
add = "jitter") #+
# stat_compare_means(method = "kruskal.test")
ggpar(p3, legend = "bottom", legend.title = "Plaque vulnerability index")
In this model we correct for Age, Gender, and year of surgery.
Here we use the inverse-rank normalized data - visually this is more normally distributed.
Analysis of the plaque vulnerability indez as a function of plasma/plaque MCP1 levels.
TRAITS.PROTEIN.RANK.extra = c("MCP1_pg_ug_2015_rank", "MCP1_pg_ml_2015_rank", "MCP1_rank")
GLM.results <- data.frame(matrix(NA, ncol = 16, nrow = 0))
for (protein in 1:length(TRAITS.PROTEIN.RANK.extra)) {
PROTEIN = TRAITS.PROTEIN.RANK.extra[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
TRAIT = "Plaque_Vulnerability_Index"
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M1, ORdate_epoch) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
# print(class(currentDF[,TRAIT]))
# table(currentDF$ORdate_year)
### univariate
# + Hypertension.composite + DiabetesStatus + SmokerCurrent +
# Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI +
# CAD_history + Stroke_history + Peripheral.interv + stenose
fit <- polr(currentDF[,TRAIT] ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year,
data = currentDF,
Hess = TRUE)
print(summary(fit))
## store table
(ctable <- coef(summary(fit)))
## calculate and store p values
p <- pnorm(abs(ctable[, "t value"]), lower.tail = FALSE) * 2
## combined table
print((ctable <- cbind(ctable, "p value" = p)))
}
In this model we correct for Age, Gender, Hypertension status, Diabetes status, current smoker status, lipid-lowering drugs (LLDs), antiplatelet medication, eGFR (MDRD), BMI, MedHx_CVD (combination of CAD history, stroke history, and peripheral interventions), and stenosis..
for (protein in 1:length(TRAITS.PROTEIN.RANK.extra)) {
PROTEIN = TRAITS.PROTEIN.RANK.extra[protein]
cat(paste0("\nAnalysis of ",PROTEIN,".\n"))
TRAIT = "Plaque_Vulnerability_Index"
cat(paste0("\n- processing ",TRAIT,"\n\n"))
currentDF <- as.data.frame(AEDB.CEA %>%
dplyr::select(., PROTEIN, TRAIT, COVARIATES_M2) %>%
filter(complete.cases(.))) %>%
filter_if(~is.numeric(.), all_vars(!is.infinite(.)))
# for debug
# print(DT::datatable(currentDF))
# print(nrow(currentDF))
# print(str(currentDF))
# print(class(currentDF[,TRAIT]))
### univariate
fit <- polr(as.factor(currentDF[,TRAIT]) ~ currentDF[,PROTEIN] + Age + Gender + ORdate_year + Hypertension.composite + DiabetesStatus + SmokerStatus + Med.Statin.LLD + Med.all.antiplatelet + GFR_MDRD + BMI + MedHx_CVD + stenose,
data = currentDF,
Hess = TRUE)
print(summary(fit))
## store table
(ctable <- coef(summary(fit)))
## calculate and store p values
p <- pnorm(abs(ctable[, "t value"]), lower.tail = FALSE) * 2
## combined table
print((ctable <- cbind(ctable, "p value" = p)))
}
We performed a pilot experiment comparing plasma and plaque-derived protein levels as measured using the OLINK platform.
My colleague, Arjan Boltjes, analyzed this. Below some graphs and some statistics.
estimate: -0.0004093809 statistic: -0.003774306 p.value: 0.9969974 parameter: 85 conf.low: -0.2110394 conf.high: 0.210257 method: Pearson’s product-moment correlation alternative: two.sided
Figure 1: Distributions of plaque and plasma MCP1 levels. Measured using the OLINK-platform (CVD-III panel). Pilot experiment with n = 88 samples.
Figure 2: Comparison of plaque and plasma MCP1 levels. Measured using the OLINK-platform (CVD-III panel). Pilot experiment with n = 88 samples. AU = Arbitrary unit.
Version: v1.0.12
Last update: 2020-07-06
Written by: Sander W. van der Laan (s.w.vanderlaan-2[at]umcutrecht.nl).
Description: Script to analyse MCP1 from the Ather-Express Biobank Study.
Minimum requirements: R version 3.5.2 (2018-12-20) -- 'Eggshell Igloo', macOS Mojave (10.14.2).
**MoSCoW To-Do List**
The things we Must, Should, Could, and Would have given the time we have.
_M_
* ASAP - analysis on plasma based on OLINK platform
* DONE - analysis on the pilot dataset on the OLINK platform, comparing plasma vs. plaque
* DONE - linear regression models (model 1 and model 2) of `MCP1_pg_ug_2015` with cytokines
* DONE - check out the difference between the measuremens of `MCP1` and `MCP1_pg_ug_2015` > `MCP1_pg_ug_2015` and `MCP1_pg_ml_2015` give similar results, `MCP1_pg_ug_2015` is more correct as this is corrected for the total amount of protein in the protein-sample used for the measurement.
* DONE - double check the plotting of the MACE
* DONE - add the statistics for the correlation of `MCP1_pg_ug_2015` with the cytokines
* DONE - add the comparison between `MCP1`, `MCP1_pg_ml_2015`, and `MCP1_pg_ug_2015`
* DONE - analysis in the context of year of surgery given Van Lammeren _et al._
* DONE - add analysis on vulnerability index
* DONE - add analysis on binary and ordinal plaque phenotypes
* DONE - add boxplots of MCP1 levels stratified by confounders/variables
_S_
* DONE prettify forest plot
_C_
_W_
**Changes log**
* v1.0.12 Add boxplots of MCP1 levels stratified by confounder/variables.
* v1.0.11 Add analysis of pilot data comparing OLINK-platform based MCP1 levels in plasma and plaque.
* v1.0.10 Add analyses for all three `MCP1`, `MCP1_pg_ml_2015`, and `MCP1_pg_ug_2015`. Add comparison between `MCP1`, `MCP1_pg_ml_2015`, and `MCP1_pg_ug_2015`. Add (and fixed) ordinal regression. Double checked which measurement to use.
* v1.0.9 Added linear regression models for MCP1 vs. cytokines plaque levels. Double checked upload of MACE-plots. Added statistics from correlation (heatmap) to txt-file.
* v1.0.8 Fixed error in MCP1 plasma analysis. It turns out the `MCP1` and `MCP1_pg_ug_2015` variables are _both_ measured in plaque, in two separate experiments, exp. no. 1 and exp. no. 2, respectively.
* v1.0.7 Fixed the per Age-group MCP1 Box plots. Added correlations with other cytokines in plaques.
* v1.0.6 Only analyses and figures that end up in the final manuscript.
* v1.0.5 Update with 30- and 90-days survival.
* v1.0.4 Updated with Cox-regressions.
* v1.0.3 Included more models.
* v1.0.2 Bugs fixed.
* v1.0.1 Extended with linear and logistic regressions.
* v1.0.0 Inital version.
sessionInfo()
save.image(paste0(PROJECT_loc, "/",Today,".",PROJECTNAME,".sample_selection.RData"))
| © 1979-2020 Sander W. van der Laan | s.w.vanderlaan-2[at]umcutrecht.nl | swvanderlaan.github.io. |